username@email.com
2022-01-07 f83fb19d3f31c2c48390da94740c68ffd07a6f12
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,10 +166,42 @@
                }
                data.Modifier = curentuser.Id;
                data.Modifytime = DateTime.Now;
                resultEntity = _fiOrderrecievemoneyService.save(data);
                CooperOrderDTO cooperOrderDTO = _cooperOrderService.Get(data.OrderId);
                CooperatecustomCustomerDTO cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(cooperOrderDTO.Khdw);
                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);
                    }
                }
                resultEntity = _fiOrderrecievemoneyService.save(data);
                if (data.PayType != "03")
                {
                FiAccountRecordDTO data1 = new FiAccountRecordDTO();
                data1.RecStatus = "A";
                data1.Creater = curentuser.Id;
@@ -178,7 +214,6 @@
                data1.Money = data.Recievemoney;
                data1.PaymentUnit = cooperatecustomCustomerDTO.Name;
                data1.OperationalMatters = "订单收款"+ cooperOrderDTO.OrderNo;
                FiAccountDTO firmAccount = _fiAccountService.Get(data1.AccountId);
@@ -195,6 +230,9 @@
                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