From f83fb19d3f31c2c48390da94740c68ffd07a6f12 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期五, 07 一月 2022 10:09:14 +0800 Subject: [PATCH] 订单收款改造 --- zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs | 118 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 88 insertions(+), 30 deletions(-) diff --git a/zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs b/zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs index f911f40..6deabc1 100644 --- a/zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs +++ b/zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs @@ -131,9 +131,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(); @@ -152,7 +150,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)) @@ -162,39 +166,73 @@ } 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.PayType != "03") + { + 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 = "璁㈠崟鏀舵" + cooperOrderDTO.OrderNo; + + + FiAccountDTO firmAccount = _fiAccountService.Get(data1.AccountId); + + + data1.RecordTypeId = "1";//鏀跺叆 + data1.Department = ""; - FiAccountDTO firmAccount = _fiAccountService.Get(data1.AccountId); + 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); + } - 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(); } @@ -308,7 +346,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)) @@ -321,6 +365,20 @@ 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 -- Gitblit v1.9.1