From c035a2e879d4340b0a6ab5c16770758cd62e4874 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期三, 08 十二月 2021 15:14:25 +0800
Subject: [PATCH] 提交

---
 zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs | 1253 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 1,217 insertions(+), 36 deletions(-)

diff --git a/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs b/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs
index 8fd61ed..c6c4013 100644
--- a/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs
@@ -40,13 +40,21 @@
         private readonly IFiMemberService _fiMemberService;
         private readonly IConfiguration _configuration;
         private readonly IHttpClientFactory _clientFactory;
+        private readonly IAskService _askService;
+        private readonly IAdmGoodsRecordService _admGoodsRecordService;
+
+        private readonly IAdmGoodsManageService _admGoodsManageService;
 
 
         public CooperOrderController(ILogger<CooperOrderController> logger, ILiaotianService liaotianService, IUserService userService, ICooperOrderService cooperOrderService
             , ICooperatecustomCustomerService cooperatecustomCustomerService, IProjectService projectService, IPltPageService pltPageService, IFiBookService fiBookService
             , IFiServiceService fiServiceService, IFiMemberService fiMemberService
             , IConfiguration configuration
-            , IHttpClientFactory clientFactory)
+            , IHttpClientFactory clientFactory
+            , IAskService askService
+            , IAdmGoodsRecordService admGoodsRecordService
+            , IAdmGoodsManageService admGoodsManageService
+            )
         {
             _logger = logger;
             _liaotianService = liaotianService;
@@ -60,6 +68,9 @@
             _fiMemberService = fiMemberService;
             _configuration = configuration;
             _clientFactory = clientFactory;
+            _askService = askService;
+            _admGoodsRecordService = admGoodsRecordService;
+            _admGoodsManageService = admGoodsManageService;
         }
 
         [CheckLogin]
@@ -405,19 +416,118 @@
             {
                 dto = _cooperOrderService.Get(id);
                 ViewBag.ShouliStatus = ShouliStatus;
+                //ViewBag.YouHuiList = _askService.GetAskYouHuiList(dto.Khdw, dto.OrderType);
+                //璐ㄧ枒鍑�
+                List<TChallengeletterDTO> challengeletterDTOs  = _cooperOrderService.GetListChallengeletter(id);
+                TChallengeletterDTO challengeletterDTO = new TChallengeletterDTO();
+                if (challengeletterDTOs!=null&& challengeletterDTOs.Count > 0)
+                {
+                    challengeletterDTO = challengeletterDTOs[0];
+                    if (challengeletterDTO.DocumentsDate.HasValue)
+                    {
+                        challengeletterDTO.DocumentsDateName = challengeletterDTO.DocumentsDate.Value.ToString("yyyy-MM-dd");
+                    }
+                    List<TChallengeItemDTO> challengeItemDTOs = _cooperOrderService.GetListChallengeItem(challengeletterDTO.Id);
+                    if(challengeItemDTOs.Count>0)
+                        challengeletterDTO.challengeItemDTOs = challengeItemDTOs;
+                    else
+                        challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() };
+                    List<TComplaintShouquandaibiaoDTO> complaintShouquandaibiaoDTOs = _cooperOrderService.GetListComplaintShouquandaibiao(challengeletterDTO.Id);
+                    if (complaintShouquandaibiaoDTOs.Count > 0)
+                        challengeletterDTO.complaintShouquandaibiaoDTOs = complaintShouquandaibiaoDTOs;
+                    else
+                        challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+
+                }
+                else
+                {
+                    challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() };
+                    challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+                }
+                ViewBag.challengeletterDTO = challengeletterDTO;
+                //鎶曡瘔涔�
+                List<TComplaintletterDTO> complaintletterDTOs = _cooperOrderService.GetListComplaintletter(id);
+                TComplaintletterDTO complaintletterDTO = new TComplaintletterDTO();
+                if (complaintletterDTOs != null && complaintletterDTOs.Count > 0)
+                {
+                    complaintletterDTO = complaintletterDTOs[0];
+
+                    if (complaintletterDTO.NoticeDate.HasValue)
+                    {
+                        complaintletterDTO.NoticeDateName = complaintletterDTO.NoticeDate.Value.ToString("yyyy-MM-dd");
+                    }
+
+                    if (complaintletterDTO.ResultnoticeDate.HasValue)
+                    {
+                        complaintletterDTO.ResultnoticeDateName = complaintletterDTO.ResultnoticeDate.Value.ToString("yyyy-MM-dd");
+                    }
+
+                    List<TComplaintItemDTO> complaintItemDTOs = _cooperOrderService.GetListComplaintItem(complaintletterDTO.Id);
+                    if (complaintItemDTOs.Count > 0)
+                        complaintletterDTO.complaintItemDTOs = complaintItemDTOs;
+                    else
+                        complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() };
+
+                    List<TComplaintRespondentDTO> complaintRespondentDTOs = _cooperOrderService.GetListComplaintRespondent(complaintletterDTO.Id);
+                    if (complaintRespondentDTOs.Count > 0)
+                        complaintletterDTO.complaintRespondentDTOs = complaintRespondentDTOs;
+                    else
+                        complaintletterDTO.complaintRespondentDTOs = new List<TComplaintRespondentDTO>() { new TComplaintRespondentDTO() };
+
+                    List<TComplaintShouquandaibiaoDTO> complaintShouquandaibiaoDTOs = _cooperOrderService.GetListComplaintShouquandaibiao(complaintletterDTO.Id);
+                    if (complaintShouquandaibiaoDTOs.Count > 0)
+                        complaintletterDTO.complaintShouquandaibiaoDTOs = complaintShouquandaibiaoDTOs;
+                    else
+                        complaintletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+
+                    List<TComplaintGongyingshangDTO> complaintGongyingshangDTOs = _cooperOrderService.GetListComplaintGongyingshang(complaintletterDTO.Id);
+                    if (complaintGongyingshangDTOs.Count > 0)
+                        complaintletterDTO.complaintGongyingshangDTOs = complaintGongyingshangDTOs;
+                    else
+                        complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() { new TComplaintGongyingshangDTO() };
+
+                }
+                else
+                {
+                    complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() };
+                    complaintletterDTO.complaintRespondentDTOs = new List<TComplaintRespondentDTO>() { new TComplaintRespondentDTO() };
+                    complaintletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+                    complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() { new TComplaintGongyingshangDTO() };
+
+                }
+                ViewBag.complaintletterDTO = complaintletterDTO;
             }
             else
             {
                 dto.XdTime = DateTime.Now;
                 dto.OrderNum = 1;
                 ViewBag.ShouliStatus = "1";
-            }
+                dto.OrderNo = _cooperOrderService.GetOrderNo();
+                //ViewBag.YouHuiList = new List<AdmAskYouHuiDTO>();
+                //璐ㄧ枒鍑�
+                TChallengeletterDTO challengeletterDTO = new TChallengeletterDTO();
+                challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() };
+                challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+                ViewBag.challengeletterDTO = challengeletterDTO;
+                //鎶曡瘔涔�
+                TComplaintletterDTO complaintletterDTO = new TComplaintletterDTO();
+                complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() };
+                complaintletterDTO.complaintRespondentDTOs = new List<TComplaintRespondentDTO>() { new TComplaintRespondentDTO()};
+                complaintletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+                complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() { new TComplaintGongyingshangDTO() };
+                ViewBag.complaintletterDTO = complaintletterDTO;
 
+            }
+            ViewBag.request_info = _liaotianService.GetSYScode("t_challengeletter", "request_info");//璐ㄧ枒璇锋眰
+            ViewBag.question = _liaotianService.GetSYScode("t_challenge_items", "question"); //	璐ㄧ枒浜嬮」
+            ViewBag.law = _liaotianService.GetSYScode("t_complaint_items", "law");//娉曞緥渚濇嵁
 
 
 
 
             ViewBag.OrderType = _liaotianService.GetSYScode("CooperVisit", "jtype");
+
+            ViewBag.shifou = _liaotianService.GetSYScode("system", "shifou");
 
             ViewBag.customer = _cooperatecustomCustomerService.GetList();
 
@@ -459,8 +569,7 @@
         public async Task<IActionResult> SaveAsync(CooperOrderDTO data)
         {
             ResultEntity resultEntity = new ResultEntity();
-            //using (TransactionScope scope = new TransactionScope())
-            //{
+            
                 var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
                 ViewData["curentuser"] = curentuser;
                 data.RecStatus = "A";
@@ -534,14 +643,258 @@
 
                     
                 }
+
+            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
+                new TransactionOptions
+                {
+                    IsolationLevel = IsolationLevel.ReadCommitted,
+                    Timeout = TransactionManager.MaximumTimeout
+                }
+                ))
+            {
+
+                var youHuiDTOs = _askService.GetAskYouHuiList(data.Khdw, data.OrderType).FirstOrDefault();
+                if (youHuiDTOs != null)
+                {
+                    data.Youhuier = youHuiDTOs.Id;
+                    if (youHuiDTOs.Youhuistandard == "01")
+                    {
+                        data.Youhui = youHuiDTOs.YouHui.Value;
+                        if (data.Money.Value < data.Youhui.Value)
+                        {
+                            data.Money = 0;
+                        }
+                        else
+                        {
+                            data.Money = data.Money.Value - data.Youhui.Value;
+                        }
+
+                    }
+                    else if (youHuiDTOs.Youhuistandard == "02")
+                    {
+                        if (youHuiDTOs.YouHui.Value >= 100)
+                        {
+                            data.Youhui = data.Money.Value;
+                            data.Money = 0;
+                        }
+                        else
+                        {
+                            data.Youhui = Math.Round(data.Money.Value * youHuiDTOs.YouHui.Value * new decimal(0.01), 2);
+                            data.Money = data.Money.Value - data.Youhui.Value;
+                        }
+                    }
+
+
+                }
+
                 data.ShouliStatus = "1";
                 data.Modifier = curentuser.Id;
                 data.Modifytime = DateTime.Now;
 
                 resultEntity = _cooperOrderService.save(data);
-            //    scope.Complete();
-            //}
-           
+
+                if (data.OrderType1 == "浠f嫙鎶曡瘔涔�")
+                {
+                    //鏌ヨ涓昏〃
+                    var complaintletterDTO = _cooperOrderService.GetListComplaintletter(data.Id).FirstOrDefault();
+                    if (complaintletterDTO != null)
+                    {
+                        complaintletterDTO.TsrName = data.TsrName;
+                        complaintletterDTO.TsrAddress = data.TsrAddress;
+                        complaintletterDTO.TsrPostcode = data.TsrPostcode;
+                        complaintletterDTO.TsrCorporation = data.TsrCorporation;
+                        complaintletterDTO.TsrPhone = data.TsrPhone;
+
+                        complaintletterDTO.XmName = data.tousuXmName;
+                        complaintletterDTO.XmCode = data.tousuXmCode;
+                        complaintletterDTO.XmPackage = data.tousuXmPackage;
+                        complaintletterDTO.PurchaserName = data.tousuPurchaserName;
+
+                        complaintletterDTO.Agency = data.tousuAgency;
+                        complaintletterDTO.IsNotice = data.tousuIsNotice;
+                        complaintletterDTO.NoticeDate = data.tousuNoticeDate;
+                        complaintletterDTO.IsResultnotice = data.tousuIsResultnotice;
+                        complaintletterDTO.ResultnoticeDate = data.tousuResultnoticeDate;
+                        complaintletterDTO.Modifier = curentuser.Id;
+                        complaintletterDTO.Modifytime = DateTime.Now;
+                        complaintletterDTO.Status = 1;
+                        resultEntity = _cooperOrderService.saveComplaintletter(complaintletterDTO);
+                    }
+                    else
+                    {
+                        complaintletterDTO = new TComplaintletterDTO();
+                        complaintletterDTO.OrderId = data.Id;
+                        complaintletterDTO.TsrName = data.TsrName;
+                        complaintletterDTO.TsrAddress = data.TsrAddress;
+                        complaintletterDTO.TsrPostcode = data.TsrPostcode;
+                        complaintletterDTO.TsrCorporation = data.TsrCorporation;
+                        complaintletterDTO.TsrPhone = data.TsrPhone;
+
+                        complaintletterDTO.XmName = data.tousuXmName;
+                        complaintletterDTO.XmCode = data.tousuXmCode;
+                        complaintletterDTO.XmPackage = data.tousuXmPackage;
+                        complaintletterDTO.PurchaserName = data.tousuPurchaserName;
+
+                        complaintletterDTO.Agency = data.tousuAgency;
+                        complaintletterDTO.IsNotice = data.tousuIsNotice;
+                        complaintletterDTO.NoticeDate = data.tousuNoticeDate;
+                        complaintletterDTO.IsResultnotice = data.tousuIsResultnotice;
+                        complaintletterDTO.ResultnoticeDate = data.tousuResultnoticeDate;
+                        complaintletterDTO.Modifier = curentuser.Id;
+                        complaintletterDTO.Modifytime = DateTime.Now;
+                        complaintletterDTO.Creater = curentuser.Id;
+                        complaintletterDTO.Createtime = complaintletterDTO.Modifytime;
+                        complaintletterDTO.Status = 1;
+                        resultEntity = _cooperOrderService.saveComplaintletter(complaintletterDTO);
+                    }
+                    resultEntity = _cooperOrderService.deleteComplaintShouquandaibiao(complaintletterDTO.Id);
+                    if (data.tousuShouquandaibiao != null && data.tousuShouquandaibiao.Length > 0)
+                    {
+                        for (int i = 0; i < data.tousuShouquandaibiao.Length; i++)
+                        {
+                            if (!(string.IsNullOrEmpty(data.tousuShouquandaibiao[i])
+                             && string.IsNullOrEmpty(data.tousuLianxidianhua[i])
+                             && string.IsNullOrEmpty(data.tousuDizhi[i])
+                             && string.IsNullOrEmpty(data.tousuYoubian[i])))
+                            {
+                                var complaintShouquandaibiaoDTO = new TComplaintShouquandaibiaoDTO();
+                                complaintShouquandaibiaoDTO.ComplaintId = complaintletterDTO.Id;
+                                complaintShouquandaibiaoDTO.Shouquandaibiao = data.tousuShouquandaibiao[i];
+                                complaintShouquandaibiaoDTO.Lianxidianhua = data.tousuLianxidianhua[i];
+                                complaintShouquandaibiaoDTO.Dizhi = data.tousuDizhi[i];
+                                complaintShouquandaibiaoDTO.Youbian = data.tousuYoubian[i];
+                                complaintShouquandaibiaoDTO.Sort = i;
+                                resultEntity = _cooperOrderService.saveComplaintShouquandaibiao(complaintShouquandaibiaoDTO);
+                            }
+                              
+                        }
+                    }
+
+
+                    resultEntity = _cooperOrderService.deleteComplaintRespondent(complaintletterDTO.Id);
+                    if (data.tousuRespondent != null && data.tousuRespondent.Length > 0)
+                    {
+                        for (int i = 0; i < data.tousuRespondent.Length; i++)
+                        {
+                            if (!(string.IsNullOrEmpty(data.tousuRespondent[i])
+                           && string.IsNullOrEmpty(data.tousuAddress[i])
+                           && string.IsNullOrEmpty(data.tousuPostcode[i])
+                           && string.IsNullOrEmpty(data.tousuContacts[i])
+                            && string.IsNullOrEmpty(data.tousuPhone[i])))
+                            {
+                                var complaintRespondentDTO = new TComplaintRespondentDTO();
+                                complaintRespondentDTO.ComplaintId = complaintletterDTO.Id;
+                                complaintRespondentDTO.Respondent = data.tousuRespondent[i];
+                                complaintRespondentDTO.Address = data.tousuAddress[i];
+                                complaintRespondentDTO.Postcode = data.tousuPostcode[i];
+                                complaintRespondentDTO.Contacts = data.tousuContacts[i];
+                                complaintRespondentDTO.Phone = data.tousuPhone[i];
+                                complaintRespondentDTO.Sort = i;
+                                resultEntity = _cooperOrderService.saveComplaintRespondent(complaintRespondentDTO);
+                            }
+                               
+                        }
+                    }
+
+                    resultEntity = _cooperOrderService.deleteComplaintGongyingshang(complaintletterDTO.Id);
+                    if (data.Gongytingshang != null && data.Gongytingshang.Length > 0)
+                    {
+                        for (int i = 0; i < data.Gongytingshang.Length; i++)
+                        {
+                            if (!(string.IsNullOrEmpty(data.Gongytingshang[i])
+                          && string.IsNullOrEmpty(data.gongyingshangYoubian[i])
+                          && string.IsNullOrEmpty(data.gongyingshangLianxiren[i])
+                          && string.IsNullOrEmpty(data.gongyingshangLianxidianhua[i])
+                           && string.IsNullOrEmpty(data.gongyingshangDizhi[i])))
+                            {
+                                var complaintGongyingshangDTO = new TComplaintGongyingshangDTO();
+                                complaintGongyingshangDTO.ComplaintId = complaintletterDTO.Id;
+                                complaintGongyingshangDTO.Gongytingshang = data.Gongytingshang[i];
+                                complaintGongyingshangDTO.Youbian = data.gongyingshangYoubian[i];
+                                complaintGongyingshangDTO.Lianxiren = data.gongyingshangLianxiren[i];
+                                complaintGongyingshangDTO.Lianxidianhua = data.gongyingshangLianxidianhua[i];
+                                complaintGongyingshangDTO.Dizhi = data.gongyingshangDizhi[i];
+                                complaintGongyingshangDTO.Sort = i;
+                                resultEntity = _cooperOrderService.saveComplaintGongyingshang(complaintGongyingshangDTO);
+                            }
+                               
+                        }
+                    }
+
+                }
+                else if (data.OrderType1 == "浠f嫙璐ㄧ枒鍑�")
+                {
+                    //鏌ヨ涓昏〃
+                    var challengeletterDTO = _cooperOrderService.GetListChallengeletter(data.Id).FirstOrDefault();
+                    if (challengeletterDTO != null)
+                    {
+                        challengeletterDTO.GysName = data.GysName;
+                        challengeletterDTO.GysAddress = data.GysAddress;
+                        challengeletterDTO.GysPostcode = data.GysPostcode;
+                        challengeletterDTO.GysContacts = data.GysContacts;
+                        challengeletterDTO.GysPhone = data.GysPhone;
+
+                        challengeletterDTO.XmName = data.zhiyiXmName;
+                        challengeletterDTO.XmCode = data.zhiyiXmCode;
+                        challengeletterDTO.XmPackage = data.zhiyiXmPackage;
+                        challengeletterDTO.PurchaserName = data.zhiyiPurchaserName;
+                        challengeletterDTO.DocumentsDate = data.zhiyiDocumentsDate;
+                        challengeletterDTO.Modifier = curentuser.Id;
+                        challengeletterDTO.Modifytime = DateTime.Now;
+                        challengeletterDTO.Status = 1;
+                        resultEntity = _cooperOrderService.saveChallengeletter(challengeletterDTO);
+                    }
+                    else
+                    {
+                        challengeletterDTO = new TChallengeletterDTO();
+                        challengeletterDTO.OrderId = data.Id;
+                        challengeletterDTO.GysName = data.GysName;
+                        challengeletterDTO.GysAddress = data.GysAddress;
+                        challengeletterDTO.GysPostcode = data.GysPostcode;
+                        challengeletterDTO.GysContacts = data.GysContacts;
+                        challengeletterDTO.GysPhone = data.GysPhone;
+
+                        challengeletterDTO.XmName = data.zhiyiXmName;
+                        challengeletterDTO.XmCode = data.zhiyiXmCode;
+                        challengeletterDTO.XmPackage = data.zhiyiXmPackage;
+                        challengeletterDTO.PurchaserName = data.zhiyiPurchaserName;
+                        challengeletterDTO.DocumentsDate = data.zhiyiDocumentsDate;
+                        challengeletterDTO.Modifier = curentuser.Id;
+                        challengeletterDTO.Modifytime = DateTime.Now;
+                        challengeletterDTO.Creater = curentuser.Id;
+                        challengeletterDTO.Createtime = challengeletterDTO.Modifytime;
+                        challengeletterDTO.Status = 1;
+                        resultEntity = _cooperOrderService.saveChallengeletter(challengeletterDTO);
+                    }
+
+                    resultEntity = _cooperOrderService.deleteComplaintShouquandaibiao(challengeletterDTO.Id);
+                    if (data.zhiyiShouquandaibiao != null && data.zhiyiShouquandaibiao.Length > 0)
+                    {
+                        for (int i = 0; i < data.zhiyiShouquandaibiao.Length; i++)
+                        {
+                            if (!(string.IsNullOrEmpty(data.zhiyiShouquandaibiao[i])
+                           && string.IsNullOrEmpty(data.zhiyiLianxidianhua[i])
+                           && string.IsNullOrEmpty(data.zhiyiDizhi[i])
+                           && string.IsNullOrEmpty(data.zhiyiYoubian[i])))
+                            {
+                                var complaintShouquandaibiaoDTO = new TComplaintShouquandaibiaoDTO();
+                                complaintShouquandaibiaoDTO.ComplaintId = challengeletterDTO.Id;
+                                complaintShouquandaibiaoDTO.Shouquandaibiao = data.zhiyiShouquandaibiao[i];
+                                complaintShouquandaibiaoDTO.Lianxidianhua = data.zhiyiLianxidianhua[i];
+                                complaintShouquandaibiaoDTO.Dizhi = data.zhiyiDizhi[i];
+                                complaintShouquandaibiaoDTO.Youbian = data.zhiyiYoubian[i];
+                                complaintShouquandaibiaoDTO.Sort = i;
+                                resultEntity = _cooperOrderService.saveComplaintShouquandaibiao(complaintShouquandaibiaoDTO);
+                            }
+                                
+                        }
+                    }
+
+
+                }
+                scope.Complete();
+            }
+
 
             return new JsonResult(resultEntity);
         }
@@ -576,19 +929,82 @@
             ResultEntity resultEntity = new ResultEntity();
             resultEntity.Result = false;
 
-            CooperOrderDTO dto = _cooperOrderService.Get(id);
-            if(dto.ShouliStatus != "1")
+            using (TransactionScope scope = new TransactionScope())
             {
-                resultEntity.Result = false;
-                resultEntity.Message = "鍙湁宸蹭笅鍗曠姸鎬佺殑璁㈠崟鎵嶈兘鍙楃悊";
-                return new JsonResult(resultEntity);
+
+                CooperOrderDTO dto = _cooperOrderService.Get(id);
+                if (dto.ShouliStatus != "1")
+                {
+                    resultEntity.Result = false;
+                    resultEntity.Message = "鍙湁宸蹭笅鍗曠姸鎬佺殑璁㈠崟鎵嶈兘鍙楃悊";
+                    return new JsonResult(resultEntity);
+                }
+
+
+                if (dto.OrderType == "01")
+                {
+                    var shi = _fiBookService.Get(dto.OrderType1);
+                    if (string.IsNullOrEmpty(shi.Id))
+                    {
+                        resultEntity.Result = false;
+                        resultEntity.Message = "鏈壘鍒拌鍟嗗搧";
+                        return new JsonResult(resultEntity);
+                    }
+                    var admGoodsManageDTOs = _admGoodsManageService.GetList().Where(x => x.ISBN == shi.BookNo).FirstOrDefault();
+
+                    if (admGoodsManageDTOs == null)
+                    {
+
+
+                        resultEntity.Result = false;
+                        resultEntity.Message = "娌℃湁鎵惧埌璇ュ晢鍝�";
+                        return new JsonResult(resultEntity);
+
+                    }
+                    else if (!admGoodsManageDTOs.GoodsLeft.HasValue)
+                    {
+                        resultEntity.Result = false;
+                        resultEntity.Message = "璇ュ晢鍝佹病鏈夊簱瀛�";
+                        return new JsonResult(resultEntity);
+
+                    }
+                    else if (admGoodsManageDTOs.GoodsLeft.Value < dto.OrderNum)
+                    {
+                        resultEntity.Result = false;
+                        resultEntity.Message = "璇ュ晢鍝佸簱瀛樹笉瓒�";
+                        return new JsonResult(resultEntity);
+
+                    }
+                    var left = admGoodsManageDTOs.GoodsLeft - dto.OrderNum;
+                    admGoodsManageDTOs.GoodsLeft = left;
+
+                    resultEntity = _admGoodsManageService.save(admGoodsManageDTOs);
+
+                    AdmGoodsRecordDTO dto1 = new AdmGoodsRecordDTO();
+                    dto1.GoodsId = admGoodsManageDTOs.Id;
+                    dto1.GoodsNum = dto.OrderNum;
+                    dto1.GoodsLeft = admGoodsManageDTOs.GoodsLeft;
+                    dto1.RecordTypeId = "02";
+                    dto1.RecStatus = "A";
+                    dto1.Creater = curentuser.Id;
+                    dto1.Createtime = DateTime.Now;
+                    dto1.Modifier = curentuser.Id;
+                    dto1.Modifytime = DateTime.Now;
+                    dto1.OperationalMatters = "璁㈠崟锛�" + dto.OrderNo + " 璐拱涔︾睄";
+                    resultEntity = _admGoodsRecordService.save(dto1);
+
+                }
+
+
+
+                dto.Shoulier = curentuser.Id;
+                dto.Shoulitime = DateTime.Now;
+                dto.ShouliStatus = "2";
+
+                resultEntity = _cooperOrderService.shouli(dto);
+
+                scope.Complete();
             }
-
-            dto.Shoulier = curentuser.Id;
-            dto.Shoulitime = DateTime.Now;
-            dto.ShouliStatus = "2";
-
-              resultEntity = _cooperOrderService.shouli(dto);
 
             return new JsonResult(resultEntity);
         }
@@ -636,24 +1052,69 @@
 
             ResultEntity resultEntity = new ResultEntity();
             resultEntity.Result = false;
-
-            CooperOrderDTO dto = _cooperOrderService.Get(Chedanid);
-            if (dto.ShouliStatus != "2")
+            using (TransactionScope scope = new TransactionScope())
             {
-                resultEntity.Result = false;
-                resultEntity.Message = "鍙湁鍙楃悊鐘舵�佺殑璁㈠崟鎵嶈兘鎾ゅ崟";
-                return new JsonResult(resultEntity);
+
+                CooperOrderDTO dto = _cooperOrderService.Get(Chedanid);
+                if (dto.ShouliStatus != "2")
+                {
+                    resultEntity.Result = false;
+                    resultEntity.Message = "鍙湁鍙楃悊鐘舵�佺殑璁㈠崟鎵嶈兘鎾ゅ崟";
+                    return new JsonResult(resultEntity);
+                }
+
+
+                if (dto.OrderType == "01")
+                {
+                    var shi = _fiBookService.Get(dto.OrderType1);
+                    if (string.IsNullOrEmpty(shi.Id))
+                    {
+                        resultEntity.Result = false;
+                        resultEntity.Message = "鏈壘鍒拌鍟嗗搧";
+                        return new JsonResult(resultEntity);
+                    }
+                    var admGoodsManageDTOs = _admGoodsManageService.GetList().Where(x => x.ISBN == shi.BookNo).FirstOrDefault();
+
+                    if (admGoodsManageDTOs == null)
+                    {
+
+
+                        resultEntity.Result = false;
+                        resultEntity.Message = "娌℃湁鎵惧埌璇ュ晢鍝�";
+                        return new JsonResult(resultEntity);
+
+                    }
+
+                    var left = admGoodsManageDTOs.GoodsLeft + dto.OrderNum;
+                    admGoodsManageDTOs.GoodsLeft = left;
+
+                    resultEntity = _admGoodsManageService.save(admGoodsManageDTOs);
+
+                    AdmGoodsRecordDTO dto1 = new AdmGoodsRecordDTO();
+                    dto1.GoodsId = admGoodsManageDTOs.Id;
+                    dto1.GoodsNum = dto.OrderNum;
+                    dto1.GoodsLeft = admGoodsManageDTOs.GoodsLeft;
+                    dto1.RecordTypeId = "01";
+                    dto1.RecStatus = "A";
+                    dto1.Creater = curentuser.Id;
+                    dto1.Createtime = DateTime.Now;
+                    dto1.Modifier = curentuser.Id;
+                    dto1.Modifytime = DateTime.Now;
+                    dto1.OperationalMatters = "璁㈠崟锛�" + dto.OrderNo + " 鎾ゅ崟";
+                    resultEntity = _admGoodsRecordService.save(dto1);
+
+                }
+
+
+                dto.Chedaner = curentuser.Id;
+                dto.Chedantime = DateTime.Now;
+                dto.ChedanStatus = "A";
+                dto.Chedan = Price;
+                dto.ShouliStatus = "0";
+
+                resultEntity = _cooperOrderService.chedan(dto);
+                scope.Complete();
             }
-
-           
-            dto.Chedaner = curentuser.Id;
-            dto.Chedantime = DateTime.Now;
-            dto.ChedanStatus = "A";
-            dto.Chedan = Price;
-            dto.ShouliStatus = "0";
-
-            resultEntity = _cooperOrderService.chedan(dto);
-
             return new JsonResult(resultEntity);
         }
         [CheckLogin]
@@ -847,7 +1308,7 @@
                 result = JsonConvert.SerializeObject(shi);
             }
 
-            if (OrderType == "08" || OrderType == "10")
+            if (OrderType == "08" || OrderType == "10" || OrderType == "11")
             {
                
                 result = "[]";
@@ -906,7 +1367,10 @@
 
                
             }
-           
+            if (result == "")
+            {
+                result = "[]";
+            }
             return result;
 
         }
@@ -1012,5 +1476,722 @@
             return new JsonResult(returnMsg);
         }
 
+
+
+        [CheckLogin]
+        public IActionResult IndexWenshu()
+        {
+            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);
+
+            ViewData["ActionInfo"] = actionlist;
+            ViewBag.status = _liaotianService.GetSYScode("t_challengeletter", "status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
+
+
+
+            return View();
+
+        }
+
+
+
+        [CheckLogin]
+        public IActionResult GetListWenshu(CooperOrderDTOSearch search)
+        {
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ViewData["curentuser"] = curentuser;
+            //search.Status = 1;
+            //search.Creater = curentuser.Id;
+            //JsonResult jsonResult =   new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver());
+            return new JsonResult(_cooperOrderService.SearchByPagingWenshu(search));
+        }
+
+
+        [CheckLogin]
+        public IActionResult selectWenshu()
+        {
+            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);
+
+            ViewData["ActionInfo"] = actionlist;
+
+
+            ViewBag.Wenshuleixing = _liaotianService.GetSYScode("t_challengeletter", "Wenshuleixing").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
+            ViewBag.status = _liaotianService.GetSYScode("t_challengeletter", "status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
+
+            return View();
+
+        }
+
+
+
+        public IActionResult EditZhiyihan(string id = null)
+        {
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ViewData["curentuser"] = curentuser;
+
+            //璐ㄧ枒鍑�
+            List<TChallengeletterDTO> challengeletterDTOs = _cooperOrderService.GetListChallengeletter(id);
+            TChallengeletterDTO challengeletterDTO = new TChallengeletterDTO();
+            if (challengeletterDTOs != null && challengeletterDTOs.Count > 0)
+            {
+                challengeletterDTO = challengeletterDTOs[0];
+                if (challengeletterDTO.DocumentsDate.HasValue)
+                {
+                    challengeletterDTO.DocumentsDateName = challengeletterDTO.DocumentsDate.Value.ToString("yyyy-MM-dd");
+                }
+                List<TChallengeItemDTO> challengeItemDTOs = _cooperOrderService.GetListChallengeItem(challengeletterDTO.Id);
+                if (challengeItemDTOs.Count > 0)
+                    challengeletterDTO.challengeItemDTOs = challengeItemDTOs;
+                else
+                    challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() };
+                List<TComplaintShouquandaibiaoDTO> complaintShouquandaibiaoDTOs = _cooperOrderService.GetListComplaintShouquandaibiao(challengeletterDTO.Id);
+
+                if (complaintShouquandaibiaoDTOs.Count > 0)
+                    challengeletterDTO.complaintShouquandaibiaoDTOs = complaintShouquandaibiaoDTOs;
+                else
+                    challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+            }
+            else
+            {
+                challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() };
+                challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+            }
+            //ViewBag.challengeletterDTO = challengeletterDTO;
+
+
+
+
+            ViewBag.request_info = _liaotianService.GetSYScode("t_challengeletter", "request_info");//璐ㄧ枒璇锋眰
+            ViewBag.question = _liaotianService.GetSYScode("t_challenge_items", "question"); //	璐ㄧ枒浜嬮」
+            var sysCodeDtls = _liaotianService.GetSYScode("expert_test_topicjiexi", "falv");//娉曞緥
+            var sysCodeDtls1 = _liaotianService.GetSYScode("t_complaint_items", "law");//娉曞緥渚濇嵁
+            foreach ( var sysCodeDtl in sysCodeDtls1)
+            {
+                var sysCodeDtl1  = sysCodeDtls.Where(x => x.CodeSn == sysCodeDtl.Comments).FirstOrDefault();
+                if (sysCodeDtl1 != null)
+                    sysCodeDtl.Comments = sysCodeDtl1.Comments;
+            }
+
+            ViewBag.law = sysCodeDtls1;//娉曞緥渚濇嵁
+
+
+
+
+
+            ViewData.Model = challengeletterDTO;
+            return View();
+        }
+
+
+        public IActionResult getLaw(string id)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+            resultEntity.Result = true;
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ViewData["curentuser"] = curentuser;
+
+           var sysCodeDtl  = _liaotianService.GetSYScode("t_complaint_items", "law").Where(x=>x.CodeSn== id).FirstOrDefault();//娉曞緥渚濇嵁
+
+          
+            if (sysCodeDtl != null )
+            {
+                resultEntity.Message = sysCodeDtl.Contents;
+            }
+
+
+            return new JsonResult(resultEntity);
+        }
+
+
+
+        /// <summary>
+        /// 淇濆瓨
+        /// </summary>
+        /// <param name="data">宀椾綅瀹炰綋绫诲璞�</param>
+        /// <returns></returns>
+        /// 
+        [CheckLogin]
+        [HttpPost]
+        public IActionResult SaveChallengeletter(CooperOrderDTO data)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ViewData["curentuser"] = curentuser;
+            
+
+            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
+                new TransactionOptions
+                {
+                    IsolationLevel = IsolationLevel.ReadCommitted,
+                    Timeout = TransactionManager.MaximumTimeout
+                }
+                ))
+            {
+
+
+
+
+                //鏌ヨ涓昏〃
+                var challengeletterDTO = _cooperOrderService.GetListChallengeletter(data.OrderId).FirstOrDefault();
+                if (challengeletterDTO != null)
+                {
+                    challengeletterDTO.GysName = data.GysName;
+                    challengeletterDTO.GysAddress = data.GysAddress;
+                    challengeletterDTO.GysPostcode = data.GysPostcode;
+                    challengeletterDTO.GysContacts = data.GysContacts;
+                    challengeletterDTO.GysPhone = data.GysPhone;
+
+                    challengeletterDTO.XmName = data.zhiyiXmName;
+                    challengeletterDTO.XmCode = data.zhiyiXmCode;
+                    challengeletterDTO.XmPackage = data.zhiyiXmPackage;
+                    challengeletterDTO.PurchaserName = data.zhiyiPurchaserName;
+                    challengeletterDTO.DocumentsDate = data.zhiyiDocumentsDate;
+                    challengeletterDTO.Modifier = curentuser.Id;
+                    challengeletterDTO.Modifytime = DateTime.Now;
+                    challengeletterDTO.Status = 2;
+                    challengeletterDTO.RequestInfo = data.RequestInfo;
+                    challengeletterDTO.PrintNum = data.PrintNum;
+                    resultEntity = _cooperOrderService.saveChallengeletter(challengeletterDTO);
+                }
+                else
+                {
+                    challengeletterDTO = new TChallengeletterDTO();
+                    challengeletterDTO.OrderId = data.Id;
+                    challengeletterDTO.GysName = data.GysName;
+                    challengeletterDTO.GysAddress = data.GysAddress;
+                    challengeletterDTO.GysPostcode = data.GysPostcode;
+                    challengeletterDTO.GysContacts = data.GysContacts;
+                    challengeletterDTO.GysPhone = data.GysPhone;
+
+                    challengeletterDTO.XmName = data.zhiyiXmName;
+                    challengeletterDTO.XmCode = data.zhiyiXmCode;
+                    challengeletterDTO.XmPackage = data.zhiyiXmPackage;
+                    challengeletterDTO.PurchaserName = data.zhiyiPurchaserName;
+                    challengeletterDTO.DocumentsDate = data.zhiyiDocumentsDate;
+                    challengeletterDTO.Modifier = curentuser.Id;
+                    challengeletterDTO.Modifytime = DateTime.Now;
+                    challengeletterDTO.Creater = curentuser.Id;
+                    challengeletterDTO.Createtime = challengeletterDTO.Modifytime;
+                    challengeletterDTO.Status = 2;
+                    challengeletterDTO.RequestInfo = data.RequestInfo;
+                    challengeletterDTO.PrintNum = data.PrintNum;
+                    resultEntity = _cooperOrderService.saveChallengeletter(challengeletterDTO);
+                }
+
+                resultEntity = _cooperOrderService.deleteComplaintShouquandaibiao(challengeletterDTO.Id);
+                if (data.zhiyiShouquandaibiao != null && data.zhiyiShouquandaibiao.Length > 0)
+                {
+                    for (int i = 0; i < data.zhiyiShouquandaibiao.Length; i++)
+                    {
+                        if (!(string.IsNullOrEmpty(data.zhiyiShouquandaibiao[i])
+                              && string.IsNullOrEmpty(data.zhiyiLianxidianhua[i])
+                              && string.IsNullOrEmpty(data.zhiyiDizhi[i])
+                              && string.IsNullOrEmpty(data.zhiyiYoubian[i])))
+                        {
+                            var complaintShouquandaibiaoDTO = new TComplaintShouquandaibiaoDTO();
+                            complaintShouquandaibiaoDTO.ComplaintId = challengeletterDTO.Id;
+                            complaintShouquandaibiaoDTO.Shouquandaibiao = data.zhiyiShouquandaibiao[i];
+                            complaintShouquandaibiaoDTO.Lianxidianhua = data.zhiyiLianxidianhua[i];
+                            complaintShouquandaibiaoDTO.Dizhi = data.zhiyiDizhi[i];
+                            complaintShouquandaibiaoDTO.Youbian = data.zhiyiYoubian[i];
+                            complaintShouquandaibiaoDTO.Sort = i;
+                            resultEntity = _cooperOrderService.saveComplaintShouquandaibiao(complaintShouquandaibiaoDTO);
+                        }
+                           
+                    }
+                }
+
+
+                resultEntity = _cooperOrderService.deleteChallengeItem(challengeletterDTO.Id);
+                if (data.Question != null && data.Question.Length > 0)
+                {
+                    for (int i = 0; i < data.Question.Length; i++)
+                    {
+                        if (!(string.IsNullOrEmpty(data.Question[i])
+                            && string.IsNullOrEmpty(data.Evidential[i])
+                            && string.IsNullOrEmpty(data.Law[i])
+                            && string.IsNullOrEmpty(data.Lawcoment[i])))
+                        {
+                            var challengeItemDTO = new TChallengeItemDTO();
+                            challengeItemDTO.ChallengeId = challengeletterDTO.Id;
+                            challengeItemDTO.Question = data.Question[i];
+                            challengeItemDTO.Evidential = data.Evidential[i];
+                            challengeItemDTO.Law = data.Law[i];
+                            challengeItemDTO.Lawcoment = data.Lawcoment[i];
+                            challengeItemDTO.Sort = i;
+                            resultEntity = _cooperOrderService.saveChallengeItem(challengeItemDTO);
+                        }
+                       
+                    }
+                }
+                scope.Complete();
+            }
+
+
+            return new JsonResult(resultEntity);
+        }
+
+
+        public IActionResult PrintZhiyihan(string id = null)
+        {
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ViewData["curentuser"] = curentuser;
+
+            //璐ㄧ枒鍑�
+            List<TChallengeletterDTO> challengeletterDTOs = _cooperOrderService.GetListChallengeletter(id);
+            TChallengeletterDTO challengeletterDTO = new TChallengeletterDTO();
+            if (challengeletterDTOs != null && challengeletterDTOs.Count > 0)
+            {
+                challengeletterDTO = challengeletterDTOs[0];
+                if (challengeletterDTO.DocumentsDate.HasValue)
+                {
+                    challengeletterDTO.DocumentsDateName = challengeletterDTO.DocumentsDate.Value.ToString("yyyy-MM-dd");
+                }
+                List<TChallengeItemDTO> challengeItemDTOs = _cooperOrderService.GetListChallengeItem(challengeletterDTO.Id);
+                if (challengeItemDTOs.Count > 0)
+                    challengeletterDTO.challengeItemDTOs = challengeItemDTOs;
+                else
+                    challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() };
+                List<TComplaintShouquandaibiaoDTO> complaintShouquandaibiaoDTOs = _cooperOrderService.GetListComplaintShouquandaibiao(challengeletterDTO.Id);
+
+                if (complaintShouquandaibiaoDTOs.Count > 0)
+                    challengeletterDTO.complaintShouquandaibiaoDTOs = complaintShouquandaibiaoDTOs;
+                else
+                    challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+            }
+            else
+            {
+                challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() };
+                challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+            }
+            //ViewBag.challengeletterDTO = challengeletterDTO;
+
+
+
+
+            //ViewBag.request_info = _liaotianService.GetSYScode("t_challengeletter", "request_info");//璐ㄧ枒璇锋眰
+            //ViewBag.question = _liaotianService.GetSYScode("t_challenge_items", "question"); //	璐ㄧ枒浜嬮」
+            //var sysCodeDtls = _liaotianService.GetSYScode("expert_test_topicjiexi", "falv");//娉曞緥
+            //var sysCodeDtls1 = _liaotianService.GetSYScode("t_complaint_items", "law");//娉曞緥渚濇嵁
+            //foreach (var sysCodeDtl in sysCodeDtls1)
+            //{
+            //    var sysCodeDtl1 = sysCodeDtls.Where(x => x.CodeSn == sysCodeDtl.Comments).FirstOrDefault();
+            //    if (sysCodeDtl1 != null)
+            //        sysCodeDtl.Comments = sysCodeDtl1.Comments;
+            //}
+
+            //ViewBag.law = sysCodeDtls1;//娉曞緥渚濇嵁
+
+
+
+
+
+            ViewData.Model = challengeletterDTO;
+            return View();
+        }
+
+
+        public IActionResult EditTousushu(string id = null)
+        {
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ViewData["curentuser"] = curentuser;
+
+            //鎶曡瘔涔�
+            List<TComplaintletterDTO> complaintletterDTOs = _cooperOrderService.GetListComplaintletter(id);
+            TComplaintletterDTO complaintletterDTO = new TComplaintletterDTO();
+            if (complaintletterDTOs != null && complaintletterDTOs.Count > 0)
+            {
+                complaintletterDTO = complaintletterDTOs[0];
+
+                if (complaintletterDTO.NoticeDate.HasValue)
+                {
+                    complaintletterDTO.NoticeDateName = complaintletterDTO.NoticeDate.Value.ToString("yyyy-MM-dd");
+                }
+
+                if (complaintletterDTO.ResultnoticeDate.HasValue)
+                {
+                    complaintletterDTO.ResultnoticeDateName = complaintletterDTO.ResultnoticeDate.Value.ToString("yyyy-MM-dd");
+                }
+
+                if (complaintletterDTO.ChallengeDate.HasValue)
+                {
+                    complaintletterDTO.ChallengeDateName = complaintletterDTO.ChallengeDate.Value.ToString("yyyy-MM-dd");
+                }
+                if (complaintletterDTO.RespondDate.HasValue)
+                {
+                    complaintletterDTO.RespondDateName = complaintletterDTO.RespondDate.Value.ToString("yyyy-MM-dd");
+                }
+                
+
+                List<TComplaintItemDTO> complaintItemDTOs = _cooperOrderService.GetListComplaintItem(complaintletterDTO.Id);
+                if (complaintItemDTOs.Count > 0)
+                    complaintletterDTO.complaintItemDTOs = complaintItemDTOs;
+                else
+                    complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() };
+
+                List<TComplaintRespondentDTO> complaintRespondentDTOs = _cooperOrderService.GetListComplaintRespondent(complaintletterDTO.Id);
+                if (complaintRespondentDTOs.Count > 0)
+                    complaintletterDTO.complaintRespondentDTOs = complaintRespondentDTOs;
+                else
+                    complaintletterDTO.complaintRespondentDTOs = new List<TComplaintRespondentDTO>() { new TComplaintRespondentDTO() };
+
+                List<TComplaintShouquandaibiaoDTO> complaintShouquandaibiaoDTOs = _cooperOrderService.GetListComplaintShouquandaibiao(complaintletterDTO.Id);
+                if (complaintShouquandaibiaoDTOs.Count > 0)
+                    complaintletterDTO.complaintShouquandaibiaoDTOs = complaintShouquandaibiaoDTOs;
+                else
+                    complaintletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+
+                List<TComplaintGongyingshangDTO> complaintGongyingshangDTOs = _cooperOrderService.GetListComplaintGongyingshang(complaintletterDTO.Id);
+                if (complaintGongyingshangDTOs.Count > 0)
+                    complaintletterDTO.complaintGongyingshangDTOs = complaintGongyingshangDTOs;
+                else
+                    complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() { new TComplaintGongyingshangDTO() };
+
+            }
+            else
+            {
+                complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() };
+                complaintletterDTO.complaintRespondentDTOs = new List<TComplaintRespondentDTO>() { new TComplaintRespondentDTO() };
+                complaintletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+                complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() { new TComplaintGongyingshangDTO() };
+
+            }
+
+
+
+
+            ViewBag.request_info = _liaotianService.GetSYScode("t_challengeletter", "request_info");//璐ㄧ枒璇锋眰
+            ViewBag.question = _liaotianService.GetSYScode("t_challenge_items", "question"); //	璐ㄧ枒浜嬮」
+            var sysCodeDtls = _liaotianService.GetSYScode("expert_test_topicjiexi", "falv");//娉曞緥
+            var sysCodeDtls1 = _liaotianService.GetSYScode("t_complaint_items", "law");//娉曞緥渚濇嵁
+           
+            foreach (var sysCodeDtl in sysCodeDtls1)
+            {
+                var sysCodeDtl1 = sysCodeDtls.Where(x => x.CodeSn == sysCodeDtl.Comments).FirstOrDefault();
+                if (sysCodeDtl1 != null)
+                    sysCodeDtl.Comments = sysCodeDtl1.Comments;
+            }
+
+            ViewBag.law = sysCodeDtls1;//娉曞緥渚濇嵁
+
+            ViewBag.shifou = _liaotianService.GetSYScode("system", "shifou");
+
+
+
+            ViewData.Model = complaintletterDTO;
+            return View();
+        }
+
+
+
+
+        /// <summary>
+        /// 淇濆瓨
+        /// </summary>
+        /// <param name="data">宀椾綅瀹炰綋绫诲璞�</param>
+        /// <returns></returns>
+        /// 
+        [CheckLogin]
+        [HttpPost]
+        public IActionResult SaveComplaintletter(CooperOrderDTO data)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ViewData["curentuser"] = curentuser;
+
+
+            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
+                new TransactionOptions
+                {
+                    IsolationLevel = IsolationLevel.ReadCommitted,
+                    Timeout = TransactionManager.MaximumTimeout
+                }
+                ))
+            {
+
+
+
+
+                //鏌ヨ涓昏〃
+                var complaintletterDTO = _cooperOrderService.GetListComplaintletter(data.OrderId).FirstOrDefault();
+                if (complaintletterDTO != null)
+                {
+                    complaintletterDTO.TsrName = data.TsrName;
+                    complaintletterDTO.TsrAddress = data.TsrAddress;
+                    complaintletterDTO.TsrPostcode = data.TsrPostcode;
+                    complaintletterDTO.TsrCorporation = data.TsrCorporation;
+                    complaintletterDTO.TsrPhone = data.TsrPhone;
+
+ 
+
+                    complaintletterDTO.XmName = data.tousuXmName;
+                    complaintletterDTO.XmCode = data.tousuXmCode;
+                    complaintletterDTO.XmPackage = data.tousuXmPackage;
+                    complaintletterDTO.PurchaserName = data.tousuPurchaserName;
+                    complaintletterDTO.Agency = data.tousuAgency;
+
+                    complaintletterDTO.IsNotice = data.tousuIsNotice;
+                    complaintletterDTO.NoticeDate = data.tousuNoticeDate;
+                    complaintletterDTO.IsResultnotice = data.tousuIsResultnotice;
+                    complaintletterDTO.ResultnoticeDate = data.tousuResultnoticeDate;
+                    complaintletterDTO.ChallengeDate = data.tousuChallengeDate;
+                    complaintletterDTO.Questioned = data.tousuQuestioned;
+                    complaintletterDTO.Respondent = data.Respondent;
+                    complaintletterDTO.RespondDate = data.tousuRespondDate;
+
+
+                    complaintletterDTO.Modifier = curentuser.Id;
+                    complaintletterDTO.Modifytime = DateTime.Now;
+                    complaintletterDTO.Status = 2;
+                    complaintletterDTO.RequestInfo = data.RequestInfo;
+                    complaintletterDTO.PrintNum = data.PrintNum;
+                    resultEntity = _cooperOrderService.saveComplaintletter(complaintletterDTO);
+                }
+                else
+                {
+                    complaintletterDTO = new TComplaintletterDTO();
+                    complaintletterDTO.OrderId = data.Id;
+
+                    complaintletterDTO.TsrName = data.TsrName;
+                    complaintletterDTO.TsrAddress = data.TsrAddress;
+                    complaintletterDTO.TsrPostcode = data.TsrPostcode;
+                    complaintletterDTO.TsrCorporation = data.TsrCorporation;
+                    complaintletterDTO.TsrPhone = data.TsrPhone;
+
+
+
+                    complaintletterDTO.XmName = data.tousuXmName;
+                    complaintletterDTO.XmCode = data.tousuXmCode;
+                    complaintletterDTO.XmPackage = data.tousuXmPackage;
+                    complaintletterDTO.PurchaserName = data.tousuPurchaserName;
+                    complaintletterDTO.Agency = data.tousuAgency;
+
+                    complaintletterDTO.IsNotice = data.tousuIsNotice;
+                    complaintletterDTO.NoticeDate = data.tousuNoticeDate;
+                    complaintletterDTO.IsResultnotice = data.tousuIsResultnotice;
+                    complaintletterDTO.ResultnoticeDate = data.tousuResultnoticeDate;
+                    complaintletterDTO.ChallengeDate = data.tousuChallengeDate;
+                    complaintletterDTO.Questioned = data.tousuQuestioned;
+                    complaintletterDTO.Respondent = data.Respondent;
+                    complaintletterDTO.RespondDate = data.tousuRespondDate;
+
+
+                    complaintletterDTO.Modifier = curentuser.Id;
+                    complaintletterDTO.Modifytime = DateTime.Now;
+                    complaintletterDTO.Creater = curentuser.Id;
+                    complaintletterDTO.Createtime = complaintletterDTO.Modifytime;
+                    complaintletterDTO.Status = 2;
+                    complaintletterDTO.RequestInfo = data.RequestInfo;
+                    complaintletterDTO.PrintNum = data.PrintNum;
+                    resultEntity = _cooperOrderService.saveComplaintletter(complaintletterDTO);
+                }
+
+
+
+                resultEntity = _cooperOrderService.deleteComplaintShouquandaibiao(complaintletterDTO.Id);
+                if (data.tousuShouquandaibiao != null && data.tousuShouquandaibiao.Length > 0)
+                {
+                    for (int i = 0; i < data.tousuShouquandaibiao.Length; i++)
+                    {
+                        if (!(string.IsNullOrEmpty(data.tousuShouquandaibiao[i])
+                              && string.IsNullOrEmpty(data.tousuLianxidianhua[i])
+                              && string.IsNullOrEmpty(data.tousuDizhi[i])
+                              && string.IsNullOrEmpty(data.tousuYoubian[i])))
+                        {
+                            var complaintShouquandaibiaoDTO = new TComplaintShouquandaibiaoDTO();
+                            complaintShouquandaibiaoDTO.ComplaintId = complaintletterDTO.Id;
+                            complaintShouquandaibiaoDTO.Shouquandaibiao = data.tousuShouquandaibiao[i];
+                            complaintShouquandaibiaoDTO.Lianxidianhua = data.tousuLianxidianhua[i];
+                            complaintShouquandaibiaoDTO.Dizhi = data.tousuDizhi[i];
+                            complaintShouquandaibiaoDTO.Youbian = data.tousuYoubian[i];
+                            complaintShouquandaibiaoDTO.Sort = i;
+                            resultEntity = _cooperOrderService.saveComplaintShouquandaibiao(complaintShouquandaibiaoDTO);
+                        }
+
+                    }
+                }
+
+
+                resultEntity = _cooperOrderService.deleteComplaintRespondent(complaintletterDTO.Id);
+                if (data.tousuRespondent != null && data.tousuRespondent.Length > 0)
+                {
+                    for (int i = 0; i < data.tousuRespondent.Length; i++)
+                    {
+                        if (!(string.IsNullOrEmpty(data.tousuRespondent[i])
+                       && string.IsNullOrEmpty(data.tousuAddress[i])
+                       && string.IsNullOrEmpty(data.tousuPostcode[i])
+                       && string.IsNullOrEmpty(data.tousuContacts[i])
+                        && string.IsNullOrEmpty(data.tousuPhone[i])))
+                        {
+                            var complaintRespondentDTO = new TComplaintRespondentDTO();
+                            complaintRespondentDTO.ComplaintId = complaintletterDTO.Id;
+                            complaintRespondentDTO.Respondent = data.tousuRespondent[i];
+                            complaintRespondentDTO.Address = data.tousuAddress[i];
+                            complaintRespondentDTO.Postcode = data.tousuPostcode[i];
+                            complaintRespondentDTO.Contacts = data.tousuContacts[i];
+                            complaintRespondentDTO.Phone = data.tousuPhone[i];
+                            complaintRespondentDTO.Sort = i;
+                            resultEntity = _cooperOrderService.saveComplaintRespondent(complaintRespondentDTO);
+                        }
+
+                    }
+                }
+
+                resultEntity = _cooperOrderService.deleteComplaintGongyingshang(complaintletterDTO.Id);
+                if (data.Gongytingshang != null && data.Gongytingshang.Length > 0)
+                {
+                    for (int i = 0; i < data.Gongytingshang.Length; i++)
+                    {
+                        if (!(string.IsNullOrEmpty(data.Gongytingshang[i])
+                      && string.IsNullOrEmpty(data.gongyingshangYoubian[i])
+                      && string.IsNullOrEmpty(data.gongyingshangLianxiren[i])
+                      && string.IsNullOrEmpty(data.gongyingshangLianxidianhua[i])
+                       && string.IsNullOrEmpty(data.gongyingshangDizhi[i])))
+                        {
+                            var complaintGongyingshangDTO = new TComplaintGongyingshangDTO();
+                            complaintGongyingshangDTO.ComplaintId = complaintletterDTO.Id;
+                            complaintGongyingshangDTO.Gongytingshang = data.Gongytingshang[i];
+                            complaintGongyingshangDTO.Youbian = data.gongyingshangYoubian[i];
+                            complaintGongyingshangDTO.Lianxiren = data.gongyingshangLianxiren[i];
+                            complaintGongyingshangDTO.Lianxidianhua = data.gongyingshangLianxidianhua[i];
+                            complaintGongyingshangDTO.Dizhi = data.gongyingshangDizhi[i];
+                            complaintGongyingshangDTO.Sort = i;
+                            resultEntity = _cooperOrderService.saveComplaintGongyingshang(complaintGongyingshangDTO);
+                        }
+
+                    }
+                }
+
+
+
+                resultEntity = _cooperOrderService.deleteComplaintItem(complaintletterDTO.Id);
+                if (data.Question != null && data.Question.Length > 0)
+                {
+                    for (int i = 0; i < data.Question.Length; i++)
+                    {
+                        if (!(string.IsNullOrEmpty(data.Question[i])
+                            && string.IsNullOrEmpty(data.Evidential[i])
+                            && string.IsNullOrEmpty(data.Law[i])
+                            && string.IsNullOrEmpty(data.Lawcoment[i])))
+                        {
+                            var complaintItemDTO = new TComplaintItemDTO();
+                            complaintItemDTO.ComplaintId = complaintletterDTO.Id;
+                            complaintItemDTO.Question = data.Question[i];
+                            complaintItemDTO.Evidential = data.Evidential[i];
+                            complaintItemDTO.Law = data.Law[i];
+                            complaintItemDTO.Lawcoment = data.Lawcoment[i];
+                            complaintItemDTO.Sort = i;
+                            resultEntity = _cooperOrderService.saveComplaintItem(complaintItemDTO);
+                        }
+
+                    }
+                }
+                scope.Complete();
+            }
+
+
+            return new JsonResult(resultEntity);
+        }
+
+
+
+        public IActionResult Printtousushu(string id = null)
+        {
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ViewData["curentuser"] = curentuser;
+
+            //鎶曡瘔涔�
+            List<TComplaintletterDTO> complaintletterDTOs = _cooperOrderService.GetListComplaintletter(id);
+            TComplaintletterDTO complaintletterDTO = new TComplaintletterDTO();
+            if (complaintletterDTOs != null && complaintletterDTOs.Count > 0)
+            {
+                complaintletterDTO = complaintletterDTOs[0];
+
+                if (complaintletterDTO.NoticeDate.HasValue)
+                {
+                    complaintletterDTO.NoticeDateName = complaintletterDTO.NoticeDate.Value.ToString("yyyy-MM-dd");
+                }
+
+                if (complaintletterDTO.ResultnoticeDate.HasValue)
+                {
+                    complaintletterDTO.ResultnoticeDateName = complaintletterDTO.ResultnoticeDate.Value.ToString("yyyy-MM-dd");
+                }
+
+                if (complaintletterDTO.ChallengeDate.HasValue)
+                {
+                    complaintletterDTO.ChallengeDateName = complaintletterDTO.ChallengeDate.Value.ToString("yyyy-MM-dd");
+                }
+                if (complaintletterDTO.RespondDate.HasValue)
+                {
+                    complaintletterDTO.RespondDateName = complaintletterDTO.RespondDate.Value.ToString("yyyy-MM-dd");
+                }
+
+
+                List<TComplaintItemDTO> complaintItemDTOs = _cooperOrderService.GetListComplaintItem(complaintletterDTO.Id);
+                if (complaintItemDTOs.Count > 0)
+                    complaintletterDTO.complaintItemDTOs = complaintItemDTOs;
+                else
+                    complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() };
+
+                List<TComplaintRespondentDTO> complaintRespondentDTOs = _cooperOrderService.GetListComplaintRespondent(complaintletterDTO.Id);
+                if (complaintRespondentDTOs.Count > 0)
+                    complaintletterDTO.complaintRespondentDTOs = complaintRespondentDTOs;
+                else
+                    complaintletterDTO.complaintRespondentDTOs = new List<TComplaintRespondentDTO>() { new TComplaintRespondentDTO() };
+
+                List<TComplaintShouquandaibiaoDTO> complaintShouquandaibiaoDTOs = _cooperOrderService.GetListComplaintShouquandaibiao(complaintletterDTO.Id);
+                if (complaintShouquandaibiaoDTOs.Count > 0)
+                    complaintletterDTO.complaintShouquandaibiaoDTOs = complaintShouquandaibiaoDTOs;
+                else
+                    complaintletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+
+                List<TComplaintGongyingshangDTO> complaintGongyingshangDTOs = _cooperOrderService.GetListComplaintGongyingshang(complaintletterDTO.Id);
+                if (complaintGongyingshangDTOs.Count > 0)
+                    complaintletterDTO.complaintGongyingshangDTOs = complaintGongyingshangDTOs;
+                else
+                    complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() { new TComplaintGongyingshangDTO() };
+
+            }
+            else
+            {
+                complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() };
+                complaintletterDTO.complaintRespondentDTOs = new List<TComplaintRespondentDTO>() { new TComplaintRespondentDTO() };
+                complaintletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+                complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() { new TComplaintGongyingshangDTO() };
+
+            }
+
+
+
+
+
+
+
+
+
+
+
+            ViewData.Model = complaintletterDTO;
+            return View();
+        }
     }
 }

--
Gitblit v1.9.1