From d4a6d65f5e449c3e5464aa18ae97bf8953987217 Mon Sep 17 00:00:00 2001
From: LR-20210131IOQH\Administrator <jackcold@163.com>
Date: 星期二, 10 八月 2021 15:44:14 +0800
Subject: [PATCH] Merge branch 'master' of http://47.108.235.38:8080/r/zhengcaioa

---
 zhengcaioa/zhengcaioa/Controllers/Expert/ExpertController.cs |  182 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 179 insertions(+), 3 deletions(-)

diff --git a/zhengcaioa/zhengcaioa/Controllers/Expert/ExpertController.cs b/zhengcaioa/zhengcaioa/Controllers/Expert/ExpertController.cs
index d4bf8d3..aa5ae0e 100644
--- a/zhengcaioa/zhengcaioa/Controllers/Expert/ExpertController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/Expert/ExpertController.cs
@@ -11,6 +11,7 @@
 using zhengcaioa.IService;
 using System.IO;
 using Microsoft.Extensions.Configuration;
+using System.Transactions;
 
 namespace zhengcaioa.Controllers.Expert
 {
@@ -22,13 +23,22 @@
         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()
@@ -317,7 +327,7 @@
             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]
@@ -344,6 +354,7 @@
             {
                 data.Creater = curentuser.Id;
                 data.Createtime = DateTime.Now;
+                data.sort = "D";
             }
             data.Modifier = curentuser.Id;
             data.Modifytime = DateTime.Now;
@@ -356,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