From e649be7905be7e74f6e09d8d74a7bd7bcd3923b7 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期二, 27 七月 2021 16:17:35 +0800
Subject: [PATCH] 修改

---
 zhengcaioa/zhengcaioa/Controllers/Expert/ExpertController.cs |  197 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 189 insertions(+), 8 deletions(-)

diff --git a/zhengcaioa/zhengcaioa/Controllers/Expert/ExpertController.cs b/zhengcaioa/zhengcaioa/Controllers/Expert/ExpertController.cs
index e587055..aa5ae0e 100644
--- a/zhengcaioa/zhengcaioa/Controllers/Expert/ExpertController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/Expert/ExpertController.cs
@@ -11,10 +11,11 @@
 using zhengcaioa.IService;
 using System.IO;
 using Microsoft.Extensions.Configuration;
+using System.Transactions;
 
 namespace zhengcaioa.Controllers.Expert
 {
-    [CheckLogin]
+  
     public class ExpertController : Controller
     {
         private readonly ILogger<ExpertController> _logger;
@@ -22,14 +23,24 @@
         private readonly ILiaotianService _liaotianService;
         private readonly IProjectService _projectService;
         private readonly IUserService _userService;
-        public ExpertController(ILogger<ExpertController> logger, IExpertService expertService, IProjectService projectService, ILiaotianService liaotianService, IUserService userService)
+        private readonly IFiSubjectService _ifiSubjectService;
+        private readonly ICooperOrderService _cooperOrderService;
+        private readonly IFiAccountService _fiAccountService;
+        private readonly IFiAccountRecordService _iFiAccountRecordService;
+        public ExpertController(ILogger<ExpertController> logger, IExpertService expertService, IProjectService projectService, ILiaotianService liaotianService, IUserService userService
+            , IFiSubjectService ifiSubjectService, ICooperOrderService cooperOrderService, IFiAccountService fiAccountService, IFiAccountRecordService iFiAccountRecordService)
         {
             _logger = logger;
             _expertService = expertService;
             _projectService = projectService;
             _liaotianService = liaotianService;
             _userService = userService;
+            _ifiSubjectService = ifiSubjectService;
+            _cooperOrderService = cooperOrderService;
+            _fiAccountService = fiAccountService;
+            _iFiAccountRecordService = iFiAccountRecordService;
         }
+        [CheckLogin]
         public IActionResult Index()
         {
             var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
@@ -72,7 +83,7 @@
 
 
         #region 缂栬緫
-
+        [CheckLogin]
         public ActionResult Edit(string id = null)
         {
 
@@ -176,7 +187,7 @@
         /// <param name="data">宀椾綅瀹炰綋绫诲璞�</param>
         /// <returns></returns>
         [HttpPost]
-
+        [CheckLogin]
         public string Save(ExpertDTO data)
         {
             var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
@@ -209,7 +220,7 @@
         /// <param name="info">瀹炰綋</param>
         /// <returns></returns>
         /// 
-
+        [CheckLogin]
         public string Nullify(string Id = "")
         {
             var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
@@ -272,6 +283,7 @@
         /// <param name="data">淇濆瓨鎺ㄥ箍璁板綍</param>
         /// <returns></returns>
         [HttpPost]
+        [CheckLogin]
         public string SavePromte(ExpertPromoteDTO data)
         {
             var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
@@ -292,6 +304,7 @@
         #endregion
 
         #region 涓撳娲惧伐
+        [CheckLogin]
         public IActionResult ExpertOrderDispatch()
         {
             var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
@@ -314,14 +327,15 @@
             ViewBag.HuifangStatus = _liaotianService.GetSYScode("CooperOrder", "huifang_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
 
             ViewBag.PingjiaStatus = _liaotianService.GetSYScode("CooperOrder", "pingjia_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
-
+            ViewBag.Expert = _expertService.GetList().Select(x => new { code = x.Id, label = x.Name }).ToList();
             return View();
         }
-
+        [CheckLogin]
         public string GetOrderList(ExpertOrderDipatchDTOSearch search)
         {
             return JsonConvert.SerializeObject(_expertService.SearchOrderDispatch(search));
         }
+        [CheckLogin]
         public IActionResult Dispatch(string orderid)
         {
 
@@ -330,6 +344,7 @@
             ViewBag.OrderId = orderid;
             return View();
         }
+        [CheckLogin]
         public string SaveDispatch(ExpertOrderDipatchDTO data)
         {
             var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
@@ -339,6 +354,7 @@
             {
                 data.Creater = curentuser.Id;
                 data.Createtime = DateTime.Now;
+                data.sort = "D";
             }
             data.Modifier = curentuser.Id;
             data.Modifytime = DateTime.Now;
@@ -351,9 +367,174 @@
 
 
 
+        #region 涓撳璐圭敤缁撶畻
+        [CheckLogin]
+        public IActionResult ExpertFeiyong()
+        {
+            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);
 
-       
+            ActionEntity actionEntity1 = new ActionEntity();
+            actionEntity1.OpenType = 0;
+            actionEntity1.ActionUrl = "";
+            actionEntity1.ActionFun = "Jiesuan";
+            actionEntity1.PageIco = "fa fa-plus-square";
+            actionEntity1.ActionName = "缁撶畻";
+            actionlist.Add(actionEntity1);
 
 
+            ViewData["ActionInfo"] = actionlist;
+
+          
+            ViewBag.Expert = _expertService.GetList().Select(x => new { code = x.Id, label = x.Name }).ToList();
+            ViewBag.shifou = _liaotianService.GetSYScode("system", "shifou").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
+            return View();
+        }
+
+        [CheckLogin]
+        public string GetJiesuanList(ExpertOrderDipatchDTOSearch search)
+        {
+            return JsonConvert.SerializeObject(_expertService.SearchJiesuan(search));
+        }
+
+
+        public IActionResult EditJiesuan(string id)
+        {
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ViewData["curentuser"] = curentuser;
+            decimal Money = 0;
+            FiOrderrecievemoneyDTO dto = new FiOrderrecievemoneyDTO();
+            if (!String.IsNullOrEmpty(id))
+            {
+                string[] ids = id.Split(',');
+                foreach(var iddd in ids)
+                {
+                   var expertOrderDipatchDTO =  _expertService.GetDispatch(iddd);
+                    if(expertOrderDipatchDTO.sort != "A")
+                    {
+                        Money += expertOrderDipatchDTO.Money.Value;
+                    }
+                   
+                   
+                }
+            }
+            dto.PayTime = DateTime.Now;
+            dto.Id = id;
+
+            dto.Money = Money;
+
+
+            ViewData.Model = dto;
+
+            ViewBag.PayType = _liaotianService.GetSYScode("fi_account", "accounttype");
+            ViewBag.accounttype = _liaotianService.GetSYScode("fi_account", "accounttype");
+            ViewBag.FiSubject = _ifiSubjectService.GetList().Where(x => x.Subjecttype == "02").ToList();
+
+
+
+
+
+            ViewData.Model = dto;
+            return View();
+        }
+
+
+        /// <summary>
+        /// 淇濆瓨
+        /// </summary>
+        /// <param name="data">宀椾綅瀹炰綋绫诲璞�</param>
+        /// <returns></returns>
+        /// 
+        [HttpPost]
+        public IActionResult SaveJiesuan(FiOrderrecievemoneyDTO data)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ViewData["curentuser"] = curentuser;
+            using (TransactionScope scope = new TransactionScope())
+            {
+                string[] ids = data.Id.Split(',');
+                foreach (var iddd in ids)
+                {
+                    var expertOrderDipatchDTO = _expertService.GetDispatch(iddd);
+                    if(expertOrderDipatchDTO.sort == "A")
+                    {
+                        resultEntity.Result = false;
+                        resultEntity.Message = "瀛樺湪宸茬粡缁撶畻鐨勮鍗�";
+                        return new JsonResult(resultEntity);
+                    }
+               
+                    expertOrderDipatchDTO.sort = "A";
+                    expertOrderDipatchDTO.Modifier = curentuser.Id;
+                    expertOrderDipatchDTO.Modifytime = DateTime.Now;
+                    resultEntity = _expertService.SaveDispatch(expertOrderDipatchDTO);
+                    if (!resultEntity.Result)
+                    {
+                        return new JsonResult(resultEntity);
+                    }
+                    var expertDTO  =  _expertService.Get(expertOrderDipatchDTO.ExpertId);
+                   var orderDTO = _cooperOrderService.Get(expertOrderDipatchDTO.OrderId);
+                    //鎻掑叆鏀嚭璁板綍
+                    FiAccountRecordDTO data1 = new FiAccountRecordDTO();
+                    data1.RecStatus = "A";
+                    data1.Creater = curentuser.Id;
+                    data1.Createtime = data.PayTime;
+                    data1.Modifier = curentuser.Id;
+                    data1.Modifytime = data.PayTime;
+                    data1.SubjectId = data.SubjectId;
+                    data1.AccountId = data.AccountId;
+                    data1.Money = expertOrderDipatchDTO.Money;
+                    data1.PaymentUnit = expertDTO.Name;
+                    data1.OperationalMatters = expertDTO.Name +"  " +orderDTO.OrderNo+ "缁撶畻璐圭敤" ;
+
+
+
+                    FiAccountDTO firmAccount = _fiAccountService.Get(data1.AccountId);
+
+
+                    data1.RecordTypeId = "2";//鏀跺叆
+                    data1.Department = "";
+
+                    
+                    firmAccount.AllExpenses = (firmAccount.AllExpenses ?? 0) + data1.Money;
+                    firmAccount.Balance = (firmAccount.Balance ?? 0) - data1.Money;
+
+
+
+                    data1.AccountMoney = firmAccount.Balance;
+                    resultEntity = _iFiAccountRecordService.save(data1);
+                    if (!resultEntity.Result)
+                    {
+                        return new JsonResult(resultEntity);
+                    }
+
+
+                    resultEntity = _fiAccountService.save(firmAccount);
+                    if (!resultEntity.Result)
+                    {
+                        return new JsonResult(resultEntity);
+                    }
+
+                }
+                scope.Complete();
+            }
+
+            return new JsonResult(resultEntity);
+        }
+
+
+
+        
+
+        #endregion
+
     }
 }

--
Gitblit v1.9.1