From 15eb82df2d6ec539e9d4245bfe08d531e8eb6379 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期日, 27 四月 2025 14:33:26 +0800
Subject: [PATCH] 修改培训订单占多个座位

---
 zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs |  755 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 754 insertions(+), 1 deletions(-)

diff --git a/zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs b/zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs
index 6818275..66e6368 100644
--- a/zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs
@@ -2,11 +2,15 @@
 using IServices;
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Configuration;
 using Microsoft.Extensions.Logging;
 using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Net.Http;
+using System.Net.Http.Headers;
 using System.Threading.Tasks;
 using System.Transactions;
 using zhengcaioa.IService;
@@ -30,6 +34,12 @@
         private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService;
         private readonly IIntentionCustomerService _intentionCustomerService;
         private readonly IHrPositionService _hrPositionService;
+        private readonly IAdmGoodsRecordService _admGoodsRecordService;
+        private readonly IFiSubjectService _ifiSubjectService;
+        private readonly IFiAccountService _fiAccountService;
+
+        private readonly IFiAccountRecordService _iFiAccountRecordService;
+        private readonly IConfiguration _configuration;
 
         public AdmAskController(ILogger<AdmAskController> logger, IAskService askService, IHrDeptService hrDeptService, IWfRunProcessService wfRunProcessService
             , IWfHistoryService wfHistoryService, IWfNeeddeelService wfNeeddeelService
@@ -39,7 +49,13 @@
             , IAdmBreakPrecedentService aAdmBreakPrecedentService
             , ICooperatecustomCustomerService cooperatecustomCustomerService
             , IIntentionCustomerService intentionCustomerService
-            , IHrPositionService hrPositionService)
+            , IHrPositionService hrPositionService
+            , IAdmGoodsRecordService admGoodsRecordService
+            , IFiSubjectService ifiSubjectService
+            , IFiAccountService fiAccountService
+            , IFiAccountRecordService iFiAccountRecordService
+             , IConfiguration configuration
+            )
         {
             _logger = logger;
             _hrDeptService = hrDeptService;
@@ -54,6 +70,11 @@
             _cooperatecustomCustomerService = cooperatecustomCustomerService;
             _intentionCustomerService = intentionCustomerService;
             _hrPositionService = hrPositionService;
+            _admGoodsRecordService = admGoodsRecordService;
+            _ifiSubjectService = ifiSubjectService;
+            _fiAccountService = fiAccountService;
+            _iFiAccountRecordService = iFiAccountRecordService;
+            _configuration = configuration;
         }
 
         public IActionResult Askcost(string id = "")
@@ -277,6 +298,19 @@
                         resultEntity.Message = "鐗╁搧鍓╀綑鏁伴噺涓嶈冻";
                         return new JsonResult(resultEntity);
                     }
+
+                    AdmGoodsRecordDTO dto = new AdmGoodsRecordDTO();
+                    dto.GoodsId = admGoodsManageDTO.Id;
+                    dto.GoodsNum = admAskGoodDTO.Shuliang.Value;
+                    dto.GoodsLeft = admGoodsManageDTO.GoodsLeft;
+                    dto.RecordTypeId = "02";
+                    dto.RecStatus = "A";
+                    dto.Creater = curentuser.Id;
+                    dto.Createtime = DateTime.Now;
+                    dto.Modifier = curentuser.Id;
+                    dto.Modifytime = DateTime.Now;
+                    dto.OperationalMatters = admAskGoodDTO.Tittle;
+                    resultEntity = _admGoodsRecordService.save(dto);
                 }
 
 
@@ -1277,6 +1311,12 @@
 
             //ViewBag.CooperatecustomCustomerDTOs = 
 
+            if (dangqianbuzhou == "璐㈠姟瀹℃壒")
+            {
+                ViewBag.accounttype = _liaotianService.GetSYScode("fi_account", "accounttype");
+                ViewBag.FiSubject = _ifiSubjectService.GetList().Where(x => x.Subjecttype == "02").ToList();
+            }
+
             ViewData.Model = dto;
             return View();
         }
@@ -1311,11 +1351,159 @@
                     }
                 }
 
+                if(data.Step == "璐㈠姟瀹℃壒" && data.Tongguojujue == "A")
+                {
+                    WfRunProcessDTO wfRunProcessDTO = _wfRunProcessService.GetList(data.Id, "20").FirstOrDefault();
+
+                    FiAccountRecordDTO datafi = new FiAccountRecordDTO();
+                    datafi.Creater = curentuser.Id;
+                    datafi.Createtime = DateTime.Now;
+                    datafi.Modifier = curentuser.Id;
+                    datafi.Modifytime = DateTime.Now;
+                    datafi.AccountId = data.AccountId;
+                    datafi.Accounttype = data.Accounttype;
+                    datafi.SubjectId = data.SubjectId;
+                    datafi.Money = data.Jine;
+                    if(wfRunProcessDTO!=null)
+                        datafi.OperationalMatters = data.Tittle + wfRunProcessDTO.Applyno;
+                    datafi.PaymentUnit = data.Username;
+                    FiAccountDTO firmAccount = _fiAccountService.Get(data.AccountId);
+
+
+                    datafi.RecordTypeId = "2";//鏀嚭
+                                            //data.Department = "";
+
+                    //resultEntity = _iFiAccountRecordService.save(data);
+
+                    firmAccount.AllExpenses = (firmAccount.AllExpenses ?? 0) + datafi.Money;
+                    firmAccount.Balance = (firmAccount.Balance ?? 0) - datafi.Money;
+
+                    datafi.AccountMoney = firmAccount.Balance;
+
+                    resultEntity = _iFiAccountRecordService.save(datafi);
+
+                    resultEntity = _fiAccountService.save(firmAccount);
+                }
 
 
                 //鍙戣捣娴佺▼鐩稿叧
 
                 resultEntity = _wfRunProcessService.WfCustomerWithdrawal(data.Id, data.Step, data.Tongguojujue, curentuser.Id, data.Content, data.Tittle, "v1");
+                if (!resultEntity.Result)
+                {
+                    return new JsonResult(resultEntity);
+                }
+                scope.Complete();
+            }
+            return new JsonResult(resultEntity);
+        }
+
+
+
+        public IActionResult CustomerRefund(string id = "")
+        {
+            AdmCustomerWithdrawalDTO dto = new AdmCustomerWithdrawalDTO();
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+
+
+            //娴佺▼鐩稿叧
+            string shifoubiaoji = "A";
+            string sifoudangqian = "A";
+            string dangqianbuzhou = "鎻愪氦";
+            var lishiyijian = new List<WfHistoryDTO>();
+
+            if (string.IsNullOrEmpty(id))
+            {
+                dto.CreaterName = curentuser.UserName;
+                dto.Tittle = "浼氬憳閫�娆剧敵璇凤紙" + curentuser.UserName + "锛�";
+            }
+            else if (dto != null)
+            {
+                dto = _askService.GetCustomerWithdrawal(id);
+                dto.ShenqingtimeName = dto.Shenqingtime.ToString("yyyy-MM-dd");
+                dto.JineName = dto.Jine.Value.ToString("F2");
+
+                var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "23").FirstOrDefault();
+                if (wfRunProcessDTO == null)
+                {
+                    shifoubiaoji = "D";
+                    sifoudangqian = "D";
+                }
+                else
+                {
+                    dangqianbuzhou = wfRunProcessDTO.Step;
+                    //鏌ヨ瀹℃壒杩涘害
+                    lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id);
+                    if (wfRunProcessDTO.Step != "鎻愪氦")
+                    {
+                        shifoubiaoji = "D";
+                    }
+
+                    //鏌ヨ寰呭姙
+                    var chaxundaiban = _wfNeeddeelService.GetListTracking(wfRunProcessDTO.Id, wfRunProcessDTO.Step).Where(x => x.DeelUserId == curentuser.Id).ToList();
+                    if (chaxundaiban != null && chaxundaiban.Count > 0)
+                    {
+                        sifoudangqian = "A";
+                    }
+                    else
+                    {
+                        sifoudangqian = "D";
+                    }
+
+                }
+
+
+
+
+            }
+
+            ViewBag.shifoubiaoji = shifoubiaoji;
+            ViewBag.sifoudangqian = sifoudangqian;
+            ViewBag.lishiyijian = lishiyijian;
+            ViewBag.dangqianbuzhou = dangqianbuzhou;
+
+             
+
+            ViewData.Model = dto;
+            return View();
+        }
+
+
+        /// <summary>
+        /// 浼氬憳鎻愮幇鐢宠
+        /// </summary>
+        /// <param name="data"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult SaveCustomerRefund(AdmCustomerWithdrawalDTO data)
+        {
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ResultEntity resultEntity = new ResultEntity();
+            using (TransactionScope scope = new TransactionScope())
+            {
+                if (data.Step == "鎻愪氦")
+                {
+
+                    data.ShenpiStatus = "D";
+                    data.RecStatus = "A";
+                    data.Creater = curentuser.Id;
+                    data.Createtime = DateTime.Now;
+                    data.Modifier = data.Creater;
+                    data.Modifytime = data.Createtime;
+
+                    resultEntity = _askService.SaveCustomerWithdrawal(data);
+                    if (!resultEntity.Result)
+                    {
+                        return new JsonResult(resultEntity);
+                    }
+                }
+
+            
+
+
+                //鍙戣捣娴佺▼鐩稿叧
+
+                resultEntity = _wfRunProcessService.WfCustomerRefund(data.Id, data.Step, data.Tongguojujue, curentuser.Id, data.Content, data.Tittle, "v1");
                 if (!resultEntity.Result)
                 {
                     return new JsonResult(resultEntity);
@@ -1483,6 +1671,89 @@
                 if (data.Step == "鎬荤粡鐞嗗鎵�")
                 {
                     //鎬荤粡鐞嗗鎵瑰悓鎰忎箣鍚庯紝鎻掑叆宸ヤ綔浜ゆ帴
+                    var askCiZhiDTO = _askService.GetAskCiZhi(resultEntity.ReturnID);
+                    var pltUserDTO = _userService.GetPltUserEntity(askCiZhiDTO.Creater);
+                    AdmAskJiaojieDTO admAskJiaojieDTO = new AdmAskJiaojieDTO();
+                    admAskJiaojieDTO.CiZhiId = resultEntity.ReturnID;
+                    admAskJiaojieDTO.Remark = "";
+                    admAskJiaojieDTO.ShenpiStatus = "D";
+                    admAskJiaojieDTO.RecStatus = "A";
+                    admAskJiaojieDTO.Creater = askCiZhiDTO.Creater;
+                    admAskJiaojieDTO.Createtime = DateTime.Now;
+                    admAskJiaojieDTO.Modifier = askCiZhiDTO.Creater;
+                    admAskJiaojieDTO.Modifytime = admAskJiaojieDTO.Createtime;
+                    admAskJiaojieDTO.CreaterName = pltUserDTO.UserName;
+                    admAskJiaojieDTO.Tittle = "宸ヤ綔浜ゆ帴(" + pltUserDTO.UserName + ")";
+
+                    resultEntity = _askService.SaveAskJiaojie(admAskJiaojieDTO);
+                    if (!resultEntity.Result)
+                    {
+                        return new JsonResult(resultEntity);
+                    }
+                    //鏌ヨ鍚堜綔瀹㈡埛
+                    CooperatecustomCustomerDTOSearch searchEntity = new CooperatecustomCustomerDTOSearch();
+                    searchEntity.page = 1;
+                    searchEntity.rows = 10000;
+                    searchEntity.Ywjl = admAskJiaojieDTO.Creater;
+                   var resultDataEntity =  _cooperatecustomCustomerService.SearchByPaging(searchEntity);
+                    var cooperatecustomCustomerDTOs  = resultDataEntity.DataList;
+                    foreach (var cooperatecustomCustomerDTO in cooperatecustomCustomerDTOs)
+                    {
+                        AdmAskJiaojieDtlDTO admAskJiaojieDtl = new AdmAskJiaojieDtlDTO();
+                        admAskJiaojieDtl.JiaojieId = admAskJiaojieDTO.Id;
+                        admAskJiaojieDtl.Jiaojietime = DateTime.Now;
+                        admAskJiaojieDtl.JiaojieType = "01";
+                        admAskJiaojieDtl.Kehudanwei = cooperatecustomCustomerDTO.Name;
+                        admAskJiaojieDtl.JiaojieStatus = "D";
+                        admAskJiaojieDtl.RecStatus = "A";
+                        admAskJiaojieDtl.Creater = admAskJiaojieDTO.Creater;
+                        admAskJiaojieDtl.Createtime = admAskJiaojieDTO.Createtime;
+                        admAskJiaojieDtl.Modifier = admAskJiaojieDTO.Creater;
+                        admAskJiaojieDtl.Modifytime = admAskJiaojieDTO.Createtime;
+                        resultEntity = _askService.SaveAskJiaojieDtl(admAskJiaojieDtl);
+                        if (!resultEntity.Result)
+                        {
+                            return new JsonResult(resultEntity);
+                        }
+                    }
+
+                    //鏌ヨ鎰忓悜瀹㈡埛
+                    IntentionCustomerDTOSearch searchEntityin = new IntentionCustomerDTOSearch();
+                    searchEntityin.page = 1;
+                    searchEntityin.rows = 10000;
+                    searchEntityin.YwjlYx = admAskJiaojieDTO.Creater;
+                    searchEntityin.Ywjl = admAskJiaojieDTO.Creater;
+                    searchEntityin.Yixiang = "05";
+                    var resultDataEntity1  = _intentionCustomerService.SearchByPaging(searchEntityin);
+                    var intentionCustomerDTOs = resultDataEntity1.DataList;
+                    foreach (var intentionCustomerDTO in intentionCustomerDTOs)
+                    {
+                        AdmAskJiaojieDtlDTO admAskJiaojieDtl = new AdmAskJiaojieDtlDTO();
+                        admAskJiaojieDtl.JiaojieId = admAskJiaojieDTO.Id;
+                        admAskJiaojieDtl.Jiaojietime = DateTime.Now;
+                        admAskJiaojieDtl.JiaojieType = "02";
+                        admAskJiaojieDtl.Kehudanwei = intentionCustomerDTO.Name;
+                        admAskJiaojieDtl.JiaojieStatus = "D";
+                        admAskJiaojieDtl.RecStatus = "A";
+                        admAskJiaojieDtl.Creater = admAskJiaojieDTO.Creater;
+                        admAskJiaojieDtl.Createtime = admAskJiaojieDTO.Createtime;
+                        admAskJiaojieDtl.Modifier = admAskJiaojieDTO.Creater;
+                        admAskJiaojieDtl.Modifytime = admAskJiaojieDTO.Createtime;
+                        resultEntity = _askService.SaveAskJiaojieDtl(admAskJiaojieDtl);
+                        if (!resultEntity.Result)
+                        {
+                            return new JsonResult(resultEntity);
+                        }
+                    }
+                    //鎻掑叆浜ゆ帴鏄庣粏
+
+
+
+                    resultEntity = _wfRunProcessService.WfAskJiaojie(admAskJiaojieDTO.Id, "淇濆瓨", "A", admAskJiaojieDTO.Creater, "", admAskJiaojieDTO.Tittle, "v1");
+                    if (!resultEntity.Result)
+                    {
+                        return new JsonResult(resultEntity);
+                    }
                 }
 
 
@@ -1498,5 +1769,487 @@
             }
             return new JsonResult(resultEntity);
         }
+
+
+        public IActionResult AskJiaojie(AdmAskJiaojieDTO data)
+        {
+            AdmAskJiaojieDTO dto = new AdmAskJiaojieDTO();
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+
+
+            //娴佺▼鐩稿叧
+            string shifoubiaoji = "A";
+            string sifoudangqian = "A";
+            string dangqianbuzhou = "鎻愪氦";
+            var lishiyijian = new List<WfHistoryDTO>();
+
+            if (string.IsNullOrEmpty(data.id))
+            {
+                dto.CreaterName = curentuser.UserName;
+                dto.Tittle = "宸ヤ綔浜ゆ帴锛�" + curentuser.UserName + "锛�";
+                dto.admAskJiaojieDtlDTOs = new List<AdmAskJiaojieDtlDTO>();
+            }
+            else if (dto != null)
+            {
+                dto = _askService.GetAskJiaojie(data.id);
+                dto.JiaojietimeStart = data.JiaojietimeStart;
+                dto.JiaojietimeEnd = data.JiaojietimeEnd;
+                dto.JiaojieStatus = data.JiaojieStatus;
+
+                dto.JiaojietimeStartName = dto.JiaojietimeStart.HasValue? dto.JiaojietimeStart.Value.ToString("yyyy-MM-dd"):"";
+                dto.JiaojietimeEndName = dto.JiaojietimeEnd.HasValue ? dto.JiaojietimeEnd.Value.ToString("yyyy-MM-dd") : "";
+                //dto.JineName = dto.Jine.Value.ToString("F2");
+                var admAskJiaojieDtlDTOs = _askService.GetAskJiaojieDtls(data.id);
+                if (!string.IsNullOrEmpty(data.JiaojieStatus))
+                {
+                    admAskJiaojieDtlDTOs = admAskJiaojieDtlDTOs.Where(x => x.JiaojieStatus == data.JiaojieStatus).ToList();
+                }
+                if (data.JiaojietimeStart.HasValue)
+                {
+                    admAskJiaojieDtlDTOs = admAskJiaojieDtlDTOs.Where(x => x.Jiaojietime >= data.JiaojietimeStart).ToList();
+                }
+                if (data.JiaojietimeEnd.HasValue)
+                {
+                    admAskJiaojieDtlDTOs = admAskJiaojieDtlDTOs.Where(x => x.Jiaojietime <= data.JiaojietimeEnd.Value.AddDays(1)).ToList();
+                }
+
+                dto.admAskJiaojieDtlDTOs = admAskJiaojieDtlDTOs;
+                var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "22").FirstOrDefault();
+                if (wfRunProcessDTO == null)
+                {
+                    shifoubiaoji = "D";
+                    sifoudangqian = "D";
+                }
+                else
+                {
+                    dangqianbuzhou = wfRunProcessDTO.Step;
+                    //鏌ヨ瀹℃壒杩涘害
+                    lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id);
+                    if (wfRunProcessDTO.Step != "鎻愪氦")
+                    {
+                        shifoubiaoji = "D";
+                    }
+
+                    //鏌ヨ寰呭姙
+                    var chaxundaiban = _wfNeeddeelService.GetListTracking(wfRunProcessDTO.Id, wfRunProcessDTO.Step).Where(x => x.DeelUserId == curentuser.Id).ToList();
+                    if (chaxundaiban != null && chaxundaiban.Count > 0)
+                    {
+                        sifoudangqian = "A";
+                    }
+                    else
+                    {
+                        sifoudangqian = "D";
+                    }
+
+                }
+
+
+
+
+            }
+
+            ViewBag.shifoubiaoji = shifoubiaoji;
+            ViewBag.sifoudangqian = sifoudangqian;
+            ViewBag.lishiyijian = lishiyijian;
+            ViewBag.dangqianbuzhou = dangqianbuzhou;
+
+            ViewBag.shifou = _liaotianService.GetSYScode("system", "shifou");
+            //ViewBag.visType = _liaotianService.GetSYScode("CooperVisit", "visType");
+            //var cooperatecustomCustomerDTOs = _cooperatecustomCustomerService.GetList();
+            //var intentionCustomerDTOs = _intentionCustomerService.GetList();
+
+            //ViewBag.CooperatecustomCustomerDTOs = 
+
+            ViewData.Model = dto;
+            return View();
+        }
+
+
+        /// <summary>
+        /// 宸ヤ綔浜ゆ帴
+        /// </summary>
+        /// <param name="data"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult SaveAskJiaojie(AdmAskJiaojieDTO data)
+        {
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ResultEntity resultEntity = new ResultEntity();
+            using (TransactionScope scope = new TransactionScope())
+            {
+                if (data.Step == "鎻愪氦")
+                {
+
+                    data.ShenpiStatus = "D";
+                    data.RecStatus = "A";
+                    data.Creater = curentuser.Id;
+                    data.Createtime = DateTime.Now;
+                    data.Modifier = data.Creater;
+                    data.Modifytime = data.Createtime;
+
+                    resultEntity = _askService.SaveAskJiaojie(data);
+                    if (!resultEntity.Result)
+                    {
+                        return new JsonResult(resultEntity);
+                    }
+                    //鍙戣捣娴佺▼鐩稿叧
+
+                    resultEntity = _wfRunProcessService.WfAskJiaojie(data.Id, data.Step, data.Tongguojujue, curentuser.Id, data.Content, data.Tittle, "v1");
+                    if (!resultEntity.Result)
+                    {
+                        return new JsonResult(resultEntity);
+                    }
+                }
+                else if (data.Step == "宸ヤ綔浜ゆ帴")
+                {
+                  var ids  =  data.JiaojieDtlId.Split(',');
+                    foreach(var  id in ids)
+                    {
+                        if (string.IsNullOrEmpty(id))
+                        {
+                            continue;
+                        }
+                        var admAskJiaojieDtl = _askService.GetAskJiaojieDtl(id);
+                        if (admAskJiaojieDtl.JiaojieStatus == "A")
+                        {
+                            continue;
+                        }
+                        else
+                        {
+                            admAskJiaojieDtl.JiaojieStatus = "A";
+                            admAskJiaojieDtl.JiaojieUserId = curentuser.Id;
+                            admAskJiaojieDtl.Jiaojietime = DateTime.Now;
+                            admAskJiaojieDtl.JieShoutime = admAskJiaojieDtl.Jiaojietime;
+                            admAskJiaojieDtl.Modifier = curentuser.Id; ;
+                            admAskJiaojieDtl.Modifytime = admAskJiaojieDtl.Jiaojietime.Value;
+                            resultEntity = _askService.SaveAskJiaojieDtl(admAskJiaojieDtl);
+                            if (!resultEntity.Result)
+                            {
+                                return new JsonResult(resultEntity);
+                            }
+                        }
+                    }
+                    var admAskJiaojieDtls = _askService.GetAskJiaojieDtls(data.Id).Where(x => x.JiaojieStatus == "D").ToList();
+                    if(admAskJiaojieDtls ==null || admAskJiaojieDtls.Count == 0)
+                    {
+                        //鍙戣捣娴佺▼鐩稿叧
+
+                        resultEntity = _wfRunProcessService.WfAskJiaojie(data.Id, data.Step, data.Tongguojujue, curentuser.Id, data.Content, data.Tittle, "v1");
+                        if (!resultEntity.Result)
+                        {
+                            return new JsonResult(resultEntity);
+                        }
+                    }
+                }
+
+
+
+               
+                scope.Complete();
+            }
+            return new JsonResult(resultEntity);
+        }
+
+        public IActionResult EditAskJiaojie(string id)
+        {
+            ViewBag.id = id;
+            ViewBag.JiaojieType = _liaotianService.GetSYScode("ADM_AskJiaojieDtl", "JiaojieType");
+            ViewData.Model = new AdmAskJiaojieDtlDTO();
+            return View();
+        }
+
+
+        /// <summary>
+        /// 淇濆瓨
+        /// </summary>
+        /// <param name="data">宀椾綅瀹炰綋绫诲璞�</param>
+        /// <returns></returns>
+        [HttpPost]
+
+        public string SaveAskJiaojieDtl(AdmAskJiaojieDtlDTO data)
+        {
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ViewData["curentuser"] = curentuser;
+            data.RecStatus = "A";
+            data.JiaojieStatus = "D";
+            if (String.IsNullOrEmpty(data.Id))
+            {
+                data.Creater = curentuser.Id;
+                data.Createtime = DateTime.Now;
+            }
+            data.Modifier = curentuser.Id;
+            data.Modifytime = DateTime.Now;
+
+            ResultEntity resultEntity = _askService.SaveAskJiaojieDtl(data);
+
+            return JsonConvert.SerializeObject(resultEntity);
+        }
+
+
+
+
+
+        //鑾峰彇鎷涙爣淇℃伅缃戣瘯鐢ㄥ鎵�
+
+        public IActionResult AskZBXXW(string id = "")
+        {
+            AdmAskzczbwsyDTO dto = new AdmAskzczbwsyDTO();
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+
+
+            //娴佺▼鐩稿叧
+            string shifoubiaoji = "A";
+            string sifoudangqian = "A";
+            string dangqianbuzhou = "鎻愪氦";
+            var lishiyijian = new List<WfHistoryDTO>();
+
+            if (string.IsNullOrEmpty(id))
+            {
+                dto.CreaterName = curentuser.UserName;
+                dto.Tittle = "鎷涙爣淇℃伅缃戣瘯鐢ㄧ敵璇凤紙" + curentuser.UserName + "锛�";
+            }
+            else if (dto != null)
+            {
+                dto = _askService.GetAskZBXXW(id);
+
+                var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "24").FirstOrDefault();
+                if (wfRunProcessDTO == null)
+                {
+                    shifoubiaoji = "D";
+                    sifoudangqian = "D";
+                }
+                else
+                {
+                    dangqianbuzhou = wfRunProcessDTO.Step;
+                    //鏌ヨ瀹℃壒杩涘害
+                    lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id);
+                    if (wfRunProcessDTO.Step != "鎻愪氦")
+                    {
+                        shifoubiaoji = "D";
+                    }
+
+                    //鏌ヨ寰呭姙
+                    var chaxundaiban = _wfNeeddeelService.GetListTracking(wfRunProcessDTO.Id, wfRunProcessDTO.Step).Where(x => x.DeelUserId == curentuser.Id).ToList();
+                    if (chaxundaiban != null && chaxundaiban.Count > 0)
+                    {
+                        sifoudangqian = "A";
+                    }
+                    else
+                    {
+                        sifoudangqian = "D";
+                    }
+
+                }
+
+
+
+
+            }
+
+            ViewBag.shifoubiaoji = shifoubiaoji;
+            ViewBag.sifoudangqian = sifoudangqian;
+            ViewBag.lishiyijian = lishiyijian;
+            ViewBag.dangqianbuzhou = dangqianbuzhou;
+
+            ViewBag.shiyongstandard = _liaotianService.GetSYScode("ADM_Askzczbwsy", "shiyongstandard");
+
+
+            //ViewBag.CooperatecustomCustomerDTOs = _cooperatecustomCustomerService.GetList();
+
+            ViewData.Model = dto;
+            return View();
+        }
+
+
+        /// <summary>
+        /// 淇濆瓨閿�鍞垂鐢ㄧ敵璇�
+        /// </summary>
+        /// <param name="data"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult SaveZBXXW(AdmAskzczbwsyDTO data)
+        {
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ResultEntity resultEntity = new ResultEntity();
+            using (TransactionScope scope = new TransactionScope())
+            {
+                if (data.Step == "鎻愪氦")
+                {
+
+                    data.ShenpiStatus = "D";
+                    data.RecStatus = "A";
+                    data.Creater = curentuser.Id;
+                    data.Createtime = DateTime.Now;
+                    data.Modifier = data.Creater;
+                    data.Modifytime = data.Createtime;
+
+                    resultEntity = _askService.SaveAskZBXXW(data);
+                    if (!resultEntity.Result)
+                    {
+                        return new JsonResult(resultEntity);
+                    }
+                }
+                if (data.Step == "鎷涙爣淇℃伅缃戣瘯鐢ㄥ鎵�" && data.Tongguojujue == "A")
+                {
+                    //璋冪敤鎺ュ彛寮�鍚敤鎴疯瘯鐢ㄦ潈闄�
+
+                  var admAskzczbwsyDTO =  _askService.GetAskZBXXW(data.Id);
+                   var  userDTO   = _userService.GetPltUserEntity(admAskzczbwsyDTO.Creater);
+
+                    string huiyuanurl = _configuration.GetSection("huiyuanurl").Value;
+                    string SetCaseOrder = _configuration.GetSection("OASetOtherBusiness").Value;
+
+                    Uri postUrl2 = new Uri(huiyuanurl + SetCaseOrder);
+                    if (data.CustomerId != null && data.CustomerId.Length > 0)
+                    {
+                       for(int i=0;i< data.CustomerId.Length; i++)
+                        {
+                            if (data.Customertype[i] == "鍚堜綔瀹㈡埛")
+                            {
+                              var cooperatecustomCustomerDTO =  _cooperatecustomCustomerService.Get(data.CustomerId[i]);
+                                JObject questions2 = new JObject();
+                                questions2.Add("UserID", cooperatecustomCustomerDTO.HuiyuanId);
+                                questions2.Add("UserName", cooperatecustomCustomerDTO.Name);
+                                questions2.Add("PhoneNumber", cooperatecustomCustomerDTO.Tel);
+                                questions2.Add("BusinessKey", "CGGG");
+                                if (admAskzczbwsyDTO.Shiyongstandard == "01")
+                                {
+                                    questions2.Add("EndTime", DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd HH:mm:ss"));
+                                }
+                                else if (admAskzczbwsyDTO.Shiyongstandard == "02")
+                                {
+                                    questions2.Add("EndTime", DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd HH:mm:ss"));
+                                }
+                                else if(admAskzczbwsyDTO.Shiyongstandard == "03")
+                                {
+                                    questions2.Add("EndTime", DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd HH:mm:ss"));
+                                }
+
+
+
+
+                                questions2.Add("FromName",  userDTO.UserName +" " +userDTO.Phone);
+                                questions2.Add("Describe", "OA");
+
+
+                                string requestJson2 = questions2.ToString();
+                                string result2 = string.Empty;
+
+                                using (HttpContent httpContent = new StringContent(requestJson2))
+                                {
+                                    httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
+
+
+                                    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);
+
+                                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);
+                                }
+                            }
+                            else
+                            {
+                              var cooperatecustomCustomerDTO = _intentionCustomerService.Get(data.CustomerId[i]);
+                                JObject questions2 = new JObject();
+                                questions2.Add("UserID", cooperatecustomCustomerDTO.HuiyuanId);
+                                questions2.Add("UserName", cooperatecustomCustomerDTO.Name);
+                                questions2.Add("PhoneNumber", cooperatecustomCustomerDTO.Tel);
+                                questions2.Add("BusinessKey", "CGGG");
+                                if (admAskzczbwsyDTO.Shiyongstandard == "01")
+                                {
+                                    questions2.Add("EndTime", DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd HH:mm:ss"));
+                                }
+                                else if (admAskzczbwsyDTO.Shiyongstandard == "02")
+                                {
+                                    questions2.Add("EndTime", DateTime.Now.AddMonths(2).ToString("yyyy-MM-dd HH:mm:ss"));
+                                }
+                                else if (admAskzczbwsyDTO.Shiyongstandard == "03")
+                                {
+                                    questions2.Add("EndTime", DateTime.Now.AddMonths(3).ToString("yyyy-MM-dd HH:mm:ss"));
+                                }
+
+
+
+
+                                questions2.Add("FromName", userDTO.UserName + " " + userDTO.Phone);
+                                questions2.Add("Describe", "OA");
+
+
+
+                                string requestJson2 = questions2.ToString();
+                                string result2 = string.Empty;
+
+                                using (HttpContent httpContent = new StringContent(requestJson2))
+                                {
+                                    httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
+
+
+                                    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);
+
+                                if (jobjectresult["code"] != null && jobjectresult["code"].ToString() == "1")
+                                {
+                                    cooperatecustomCustomerDTO.HuiyuanId = jobjectresult["UserID"].ToString();
+                                    _intentionCustomerService.save(cooperatecustomCustomerDTO);
+                                    resultEntity.Result = true;
+                                }
+                                else
+                                {
+                                    resultEntity.Result = false;
+                                    resultEntity.Message = "寮�閫氭嫑鏍囦俊鎭綉璇曠敤鏉冮檺澶辫触";
+                                    return new JsonResult(resultEntity);
+                                }
+                            }
+
+
+                           
+                        }
+                    }
+
+
+
+                  
+                    
+
+                }
+
+
+                    //鍙戣捣娴佺▼鐩稿叧
+
+                resultEntity = _wfRunProcessService.WfAskZBXXW(data.Id, data.Step, data.Tongguojujue, curentuser.Id, data.Content, data.Tittle, "v1");
+                if (!resultEntity.Result)
+                {
+                    return new JsonResult(resultEntity);
+                }
+                scope.Complete();
+            }
+            return new JsonResult(resultEntity);
+        }
+
     }
 }

--
Gitblit v1.9.1