From 93be07bd52b4781027df08420ed5cfe712dda6e6 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期四, 08 十二月 2022 09:30:38 +0800
Subject: [PATCH] 提交
---
zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs | 407 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 377 insertions(+), 30 deletions(-)
diff --git a/zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs b/zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs
index ae887b2..2fa29d2 100644
--- a/zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs
@@ -18,6 +18,9 @@
using CommonToolsCore;
using Services;
using System.Transactions;
+using System.Net.Http.Headers;
+using Newtonsoft.Json.Linq;
+using Microsoft.Extensions.Configuration;
namespace zhengcaioa.Controllers.Finance
{
@@ -32,9 +35,27 @@
private readonly IFiAccountService _fiAccountService;
private readonly IFiAccountRecordService _iFiAccountRecordService;
private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService;
+ private readonly IProjectService _projectService;
+ private readonly IUserService _userService;
+ private readonly IFiCustomerrecievemoneyService _fiCustomerrecievemoneyService;
+ private readonly IConfiguration _configuration;
+ private readonly IHttpClientFactory _clientFactory;
+ private readonly IFiMemberService _iMemberService;
+ private readonly IPltPageService _pltPageService;
+ private readonly IFiBookService _fiBookService;
+ private readonly IFiMemberService _fiMemberService;
public FiOrderrecievemoneyController(ILogger<FiOrderrecievemoneyController> logger, ILiaotianService liaotianService, IFiOrderrecievemoneyService fiOrderrecievemoneyService, ICooperOrderService cooperOrderService, IFiSubjectService ifiSubjectService
- , IFiAccountService fiAccountService, IFiAccountRecordService iFiAccountRecordService, ICooperatecustomCustomerService cooperatecustomCustomerService)
+ , IFiAccountService fiAccountService, IFiAccountRecordService iFiAccountRecordService, ICooperatecustomCustomerService cooperatecustomCustomerService
+ , IProjectService projectService
+ , IUserService userService
+ , IFiCustomerrecievemoneyService fiCustomerrecievemoneyService
+ , IConfiguration configuration
+ , IHttpClientFactory clientFactory
+ , IFiMemberService iMemberService
+ , IPltPageService pltPageService
+ , IFiBookService fiBookService
+ , IFiMemberService fiMemberService)
{
_logger = logger;
_liaotianService = liaotianService;
@@ -44,8 +65,15 @@
_fiAccountService = fiAccountService;
_iFiAccountRecordService = iFiAccountRecordService;
_cooperatecustomCustomerService = cooperatecustomCustomerService;
-
-
+ _projectService = projectService;
+ _userService = userService;
+ _fiCustomerrecievemoneyService = fiCustomerrecievemoneyService;
+ _configuration = configuration;
+ _clientFactory = clientFactory;
+ _iMemberService = iMemberService;
+ _pltPageService = pltPageService;
+ _fiBookService = fiBookService;
+ _fiMemberService = fiMemberService;
}
public IActionResult Index()
@@ -62,7 +90,9 @@
actionlist.Add(actionEntity);
ViewData["ActionInfo"] = actionlist;
-
+ var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/FiOrderrecievemoney/Index/");
+ var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList();
+ ViewData["ActionInfo2"] = pageEntities2;
ViewBag.OrderType = _liaotianService.GetSYScode("CooperVisit", "jtype").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
@@ -124,9 +154,7 @@
ViewBag.accounttype = _liaotianService.GetSYScode("fi_account", "accounttype");
ViewBag.FiSubject = _ifiSubjectService.GetList().Where(x => x.Subjecttype == "01").ToList();
-
-
-
+ ViewBag.cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(cooperOrderDTO.Khdw);
ViewData.Model = dto;
return View();
@@ -145,7 +173,13 @@
ResultEntity resultEntity = new ResultEntity();
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
ViewData["curentuser"] = curentuser;
- using (TransactionScope scope = new TransactionScope())
+ using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
+ new TransactionOptions
+ {
+ IsolationLevel = IsolationLevel.ReadCommitted,
+ Timeout = TransactionManager.MaximumTimeout
+ }
+ ))
{
data.RecStatus = "A";
if (String.IsNullOrEmpty(data.Id))
@@ -155,39 +189,146 @@
}
data.Modifier = curentuser.Id;
data.Modifytime = DateTime.Now;
-
- resultEntity = _fiOrderrecievemoneyService.save(data);
CooperOrderDTO cooperOrderDTO = _cooperOrderService.Get(data.OrderId);
CooperatecustomCustomerDTO cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(cooperOrderDTO.Khdw);
- FiAccountRecordDTO data1 = new FiAccountRecordDTO();
- data1.RecStatus = "A";
- data1.Creater = curentuser.Id;
- data1.Createtime = DateTime.Now;
- data1.Modifier = curentuser.Id;
- data1.Modifytime = DateTime.Now;
- data1.SubjectId = data.SubjectId;
+ if (data.PayType == "03")
+ {
+ if(data.Recievemoney>((cooperatecustomCustomerDTO.Yufukuan ?? 0)+ (cooperatecustomCustomerDTO.Shouxinedu ?? 0) - (cooperatecustomCustomerDTO.Shenyushouxin ?? 0)))
+ {
+ resultEntity.Result = false;
+ resultEntity.Message = "鍓╀綑棰勪粯娆惧拰鍓╀綑鎺堜俊涓嶈冻锛�";
+ return new JsonResult(resultEntity);
+ }
+ else
+ {
+ if (data.Recievemoney > (cooperatecustomCustomerDTO.Yufukuan??0))
+ {
+ cooperatecustomCustomerDTO.Shenyushouxin = data.Recievemoney - (cooperatecustomCustomerDTO.Yufukuan??0);
+ if (cooperatecustomCustomerDTO.Shenyushouxin> (cooperatecustomCustomerDTO.Shouxinedu??0))
+ {
+ resultEntity.Result = false;
+ resultEntity.Message = "鍓╀綑鎺堜俊涓嶈冻锛�";
+ return new JsonResult(resultEntity);
+ }
+ cooperatecustomCustomerDTO.Yufukuan = 0;
+
+ }
+ else
+ {
+ cooperatecustomCustomerDTO.Yufukuan = cooperatecustomCustomerDTO.Yufukuan - data.Recievemoney;
+ }
+ resultEntity = _cooperatecustomCustomerService.saveyufukuan(cooperatecustomCustomerDTO);
+ }
+ }
+
- data1.AccountId = data.AccountId;
- data1.Money = data.Recievemoney;
- data1.PaymentUnit = cooperatecustomCustomerDTO.Name;
- data1.OperationalMatters = "璁㈠崟鏀舵"+ cooperOrderDTO.OrderNo;
+ resultEntity = _fiOrderrecievemoneyService.save(data);
+
+ if (data.WeishouMoney <= data.Recievemoney && cooperOrderDTO.OrderType == "05" )
+ {
+ //寮�閫氫細鍛�
+ var fiMemberDTO = _iMemberService.Get(cooperOrderDTO.OrderType1);
+ //寮�閫氫細鍛�
+ string huiyuanurl = _configuration.GetSection("huiyuanurl").Value;
+ string OAWriteChangeAsync = _configuration.GetSection("OAWriteChangeAsync").Value;
+
+ Uri postUrl2 = new Uri(huiyuanurl + OAWriteChangeAsync);
+ JObject questions2 = new JObject();
+ questions2.Add("UserID", cooperatecustomCustomerDTO.HuiyuanId);
+ questions2.Add("PhoneNumber", cooperatecustomCustomerDTO.Tel);
+ questions2.Add("VIPName", fiMemberDTO.MemberType);
+ questions2.Add("UserName", cooperatecustomCustomerDTO.Name);
+ questions2.Add("FromName", "OA");
- FiAccountDTO firmAccount = _fiAccountService.Get(data1.AccountId);
+ string requestJson2 = questions2.ToString();
+ string result2 = string.Empty;
+
+ using (HttpContent httpContent = new StringContent(requestJson2))
+ {
+ httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
- data1.RecordTypeId = "1";//鏀跺叆
- data1.Department = "";
+ using (HttpClient httpClient = new HttpClient())
+ {
+ httpClient.Timeout = new TimeSpan(0, 0, 10);
+ HttpResponseMessage responseMessage = httpClient.PostAsync(postUrl2, httpContent).Result;
+ result2 = responseMessage.Content.ReadAsStringAsync().Result;
+ }
+ }
-
+ _logger.LogInformation("result2:" + result2);
+ JObject jobjectresult = (JObject)JsonConvert.DeserializeObject(result2);
- firmAccount.AllIncome = (firmAccount.AllIncome ?? 0) + data1.Money;
- firmAccount.Balance = (firmAccount.Balance ?? 0) + data1.Money;
+ if (jobjectresult["code"] != null && jobjectresult["code"].ToString() == "1")
+ {
+ cooperatecustomCustomerDTO.HuiyuanId = jobjectresult["UserID"].ToString();
+ _cooperatecustomCustomerService.save(cooperatecustomCustomerDTO);
+ resultEntity.Result = true;
+ }
+ else
+ {
+ resultEntity.Result = false;
+ resultEntity.Message = "鍐欏叆浼氬憳鏉冮檺澶辫触";
+ return new JsonResult(resultEntity);
+ }
- data1.AccountMoney = firmAccount.Balance;
- resultEntity = _iFiAccountRecordService.save(data1);
- resultEntity = _fiAccountService.save(firmAccount);
+
+
+ }
+ if (data.PayType != "03")
+ {
+ var sysCodeDtls = _liaotianService.GetSYScode("CooperVisit", "jtype");
+ var book = _fiBookService.Get(cooperOrderDTO.OrderType1);
+ var member = _fiMemberService.Get(cooperOrderDTO.OrderType1);
+ FiAccountRecordDTO data1 = new FiAccountRecordDTO();
+ data1.RecStatus = "A";
+ data1.Creater = curentuser.Id;
+ data1.Createtime = DateTime.Now;
+ data1.Modifier = curentuser.Id;
+ data1.Modifytime = DateTime.Now;
+ data1.SubjectId = data.SubjectId;
+
+ data1.AccountId = data.AccountId;
+ data1.Money = data.Recievemoney;
+ data1.PaymentUnit = cooperatecustomCustomerDTO.Name;
+ var ssss = sysCodeDtls.Where(x => x.CodeSn == cooperOrderDTO.OrderType).FirstOrDefault();
+ if (ssss != null)
+ {
+ cooperOrderDTO.OrderTypeName = ssss.Comments;
+ }
+ if (book != null)
+ {
+ cooperOrderDTO.OrderType1 = book.BookName;
+ }
+ if (member != null)
+ {
+ cooperOrderDTO.OrderType1 = member.MemberType;
+ }
+
+ //data1.OperationalMatters = "璁㈠崟鏀舵" + cooperOrderDTO.OrderNo;
+
+ data1.OperationalMatters = cooperOrderDTO.OrderTypeName + cooperOrderDTO.OrderType1 + cooperOrderDTO.OrderType2 + " 璁㈠崟鏀舵";
+ data1.Remark = cooperOrderDTO.OrderNo;
+
+ FiAccountDTO firmAccount = _fiAccountService.Get(data1.AccountId);
+
+
+ data1.RecordTypeId = "1";//鏀跺叆
+ data1.Department = "";
+
+
+
+ firmAccount.AllIncome = (firmAccount.AllIncome ?? 0) + data1.Money;
+ firmAccount.Balance = (firmAccount.Balance ?? 0) + data1.Money;
+
+ data1.AccountMoney = firmAccount.Balance;
+ resultEntity = _iFiAccountRecordService.save(data1);
+ resultEntity = _fiAccountService.save(firmAccount);
+ }
+
+
scope.Complete();
}
@@ -207,5 +348,211 @@
ViewData["curentuser"] = curentuser;
return new JsonResult(_fiOrderrecievemoneyService.ModifyStatus(Id, curentuser.Id));
}
+
+
+ public IActionResult IndexCustomer()
+ {
+ var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+ ViewData["curentuser"] = curentuser;
+ List<ActionEntity> actionlist = new List<ActionEntity>();
+ ActionEntity actionEntity = new ActionEntity();
+ actionEntity.OpenType = 0;
+ actionEntity.ActionUrl = "";
+ actionEntity.ActionFun = "Search";
+ actionEntity.PageIco = "fa fa-search";
+ actionEntity.ActionName = "鏌ヨ";
+ actionlist.Add(actionEntity);
+ var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/FiOrderrecievemoney/IndexCustomer/");
+ var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList();
+ ViewData["ActionInfo2"] = pageEntities2;
+
+ ViewData["ActionInfo"] = actionlist;
+
+
+ ViewBag.khlx = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
+ ViewBag.khly = _liaotianService.GetSYScode("CooperatecustomCustomer", "khly").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
+ ViewBag.hyfl = _liaotianService.GetSYScode("CooperatecustomCustomer", "hyfl").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
+ ViewBag.shifou = _liaotianService.GetSYScode("system", "shifou").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
+ ViewBag.users = _userService.GetList().Where(x => x.IsYwjl == "A").Select(x => new { code = x.Id, label = x.UserName }).ToList();
+
+ var areaDTOs = _projectService.Getsheng().ToList();
+ foreach (var areaDTO in areaDTOs)
+ {
+ if (areaDTO.CodeId == "510000")
+ {
+ areaDTOs.Remove(areaDTO);
+ break;
+ }
+ }
+ var areaDTOsic = new Area();
+ areaDTOsic.CodeId = "510000";
+ areaDTOsic.Name = "鍥涘窛鐪�";
+ areaDTOsic.ParentId = "0 ";
+ areaDTOs.Insert(1, areaDTOsic);
+ ViewBag.ShengDropDown = areaDTOs.Select(x => new { code = x.CodeId, label = x.Name }).ToList();
+
+ return View();
+
+ }
+
+
+ public IActionResult EditCustomer(string id = null, string CustomerId = null)
+ {
+ var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+ ViewData["curentuser"] = curentuser;
+
+ FiCustomerrecievemoneyDTO dto = new FiCustomerrecievemoneyDTO();
+ if (!String.IsNullOrEmpty(id))
+ {
+ dto = _fiCustomerrecievemoneyService.Get(id);
+ }
+ else
+ {
+ dto.PayTime = DateTime.Now;
+ dto.CustomerId = CustomerId;
+ }
+
+ var cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(CustomerId);
+
+ dto.CustomerName = cooperatecustomCustomerDTO.Name;
+ dto.Yufukuan = cooperatecustomCustomerDTO.Yufukuan??0;
+
+
+
+ ViewBag.PayType = _liaotianService.GetSYScode("fi_account", "accounttype");
+ ViewBag.accounttype = _liaotianService.GetSYScode("fi_account", "accounttype");
+ ViewBag.FiSubject = _ifiSubjectService.GetList().Where(x => x.Subjecttype == "01").ToList();
+
+
+
+
+
+ ViewData.Model = dto;
+ return View();
+ }
+
+
+ /// <summary>
+ /// 淇濆瓨
+ /// </summary>
+ /// <param name="data">宀椾綅瀹炰綋绫诲璞�</param>
+ /// <returns></returns>
+ ///
+ [HttpPost]
+ public IActionResult SaveCustomer(FiCustomerrecievemoneyDTO data)
+ {
+ ResultEntity resultEntity = new ResultEntity();
+ var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+ ViewData["curentuser"] = curentuser;
+ using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
+ new TransactionOptions
+ {
+ IsolationLevel = IsolationLevel.ReadCommitted,
+ Timeout = TransactionManager.MaximumTimeout
+ }
+ ))
+ {
+ data.RecStatus = "A";
+ if (String.IsNullOrEmpty(data.Id))
+ {
+ data.Creater = curentuser.Id;
+ data.Createtime = DateTime.Now;
+ }
+ data.Modifier = curentuser.Id;
+ data.Modifytime = DateTime.Now;
+
+ resultEntity = _fiCustomerrecievemoneyService.save(data);
+ CooperatecustomCustomerDTO cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(data.CustomerId);
+ if (cooperatecustomCustomerDTO.Shenyushouxin.HasValue)
+ {
+ if(data.Recievemoney.Value> cooperatecustomCustomerDTO.Shenyushouxin.Value)
+ {
+ data.Recievemoney = data.Recievemoney.Value - cooperatecustomCustomerDTO.Shenyushouxin.Value;
+ cooperatecustomCustomerDTO.Shenyushouxin = 0;
+ }
+ else
+ {
+ cooperatecustomCustomerDTO.Shenyushouxin = cooperatecustomCustomerDTO.Shenyushouxin.Value - data.Recievemoney.Value;
+ data.Recievemoney = 0;
+ }
+ }
+
+ if(cooperatecustomCustomerDTO.Yufukuan.HasValue)
+ cooperatecustomCustomerDTO.Yufukuan = cooperatecustomCustomerDTO.Yufukuan.Value + data.Recievemoney.Value;
+ else
+ cooperatecustomCustomerDTO.Yufukuan = data.Recievemoney.Value;
+ resultEntity = _cooperatecustomCustomerService.saveyufukuan(cooperatecustomCustomerDTO);
+ FiAccountRecordDTO data1 = new FiAccountRecordDTO();
+ data1.RecStatus = "A";
+ data1.Creater = curentuser.Id;
+ data1.Createtime = DateTime.Now;
+ data1.Modifier = curentuser.Id;
+ data1.Modifytime = DateTime.Now;
+ data1.SubjectId = data.SubjectId;
+
+ data1.AccountId = data.AccountId;
+ data1.Money = data.Recievemoney;
+ data1.PaymentUnit = cooperatecustomCustomerDTO.Name;
+ data1.OperationalMatters ="瀹㈡埛棰勪粯娆撅細" + data.Remark;
+
+
+
+ FiAccountDTO firmAccount = _fiAccountService.Get(data1.AccountId);
+
+
+ data1.RecordTypeId = "1";//鏀跺叆
+ data1.Department = "";
+
+
+
+ firmAccount.AllIncome = (firmAccount.AllIncome ?? 0) + data1.Money;
+ firmAccount.Balance = (firmAccount.Balance ?? 0) + data1.Money;
+
+ data1.AccountMoney = firmAccount.Balance;
+ resultEntity = _iFiAccountRecordService.save(data1);
+ resultEntity = _fiAccountService.save(firmAccount);
+ scope.Complete();
+ }
+
+ return new JsonResult(resultEntity);
+ }
+
+
+
+ public IActionResult IndexCustomerdtl(string CustomerId)
+ {
+ var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+ ViewData["curentuser"] = curentuser;
+ List<ActionEntity> actionlist = new List<ActionEntity>();
+ ActionEntity actionEntity = new ActionEntity();
+ actionEntity.OpenType = 0;
+ actionEntity.ActionUrl = "";
+ actionEntity.ActionFun = "Search";
+ actionEntity.PageIco = "fa fa-search";
+ actionEntity.ActionName = "鏌ヨ";
+ actionlist.Add(actionEntity);
+ ViewData["ActionInfo"] = actionlist;
+
+ ViewBag.CustomerId = CustomerId;
+
+
+
+
+
+ return View();
+
+ }
+
+
+
+
+ public IActionResult GetListCustomerdel(FiCustomerrecievemoneyDTOSearch search)
+ {
+ var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+ ViewData["curentuser"] = curentuser;
+ //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver());
+ return new JsonResult(_fiCustomerrecievemoneyService.SearchByPaging(search));
+ }
+
}
}
--
Gitblit v1.9.1