From 0e6d0e8975e92a6395d2d9f692edd5a7d0984c5a Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期三, 15 六月 2022 08:39:59 +0800
Subject: [PATCH] 爬虫

---
 zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs |  833 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 678 insertions(+), 155 deletions(-)

diff --git a/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs b/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs
index 5ec446f..ff08a23 100644
--- a/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs
@@ -44,6 +44,9 @@
         private readonly IAdmGoodsRecordService _admGoodsRecordService;
 
         private readonly IAdmGoodsManageService _admGoodsManageService;
+        private readonly IFiOrderrecievemoneyService _fiOrderrecievemoneyService;
+        private readonly IFiAccountService _fiAccountService;
+        private readonly IFiAccountRecordService _iFiAccountRecordService;
 
 
         public CooperOrderController(ILogger<CooperOrderController> logger, ILiaotianService liaotianService, IUserService userService, ICooperOrderService cooperOrderService
@@ -54,6 +57,9 @@
             , IAskService askService
             , IAdmGoodsRecordService admGoodsRecordService
             , IAdmGoodsManageService admGoodsManageService
+            , IFiOrderrecievemoneyService fiOrderrecievemoneyService
+            , IFiAccountService fiAccountService
+            , IFiAccountRecordService iFiAccountRecordService
             )
         {
             _logger = logger;
@@ -71,6 +77,9 @@
             _askService = askService;
             _admGoodsRecordService = admGoodsRecordService;
             _admGoodsManageService = admGoodsManageService;
+            _fiOrderrecievemoneyService = fiOrderrecievemoneyService;
+            _fiAccountService = fiAccountService;
+            _iFiAccountRecordService = iFiAccountRecordService;
         }
 
         [CheckLogin]
@@ -484,7 +493,7 @@
                     if (complaintGongyingshangDTOs.Count > 0)
                         complaintletterDTO.complaintGongyingshangDTOs = complaintGongyingshangDTOs;
                     else
-                        complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() { new TComplaintGongyingshangDTO() };
+                        complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>()/* { new TComplaintGongyingshangDTO() }*/;
 
                 }
                 else
@@ -492,7 +501,7 @@
                     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() };
+                    complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>()/* { new TComplaintGongyingshangDTO() }*/;
 
                 }
                 ViewBag.complaintletterDTO = complaintletterDTO;
@@ -514,7 +523,7 @@
                 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() };
+                complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() /*{ new TComplaintGongyingshangDTO() }*/;
                 ViewBag.complaintletterDTO = complaintletterDTO;
 
             }
@@ -532,8 +541,9 @@
             ViewBag.customer = _cooperatecustomCustomerService.GetList();
 
             //ViewBag.project = _projectService.GetList();
+            ViewBag.ChallengeletterChosen = _cooperOrderService.GetListChallengeletterChosen().Where(x => x.Createtime >= DateTime.Now.AddMonths(-2)).ToList(); ;
 
-          
+
 
 
             ViewData.Model = dto;
@@ -573,119 +583,162 @@
                 var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
                 ViewData["curentuser"] = curentuser;
                 data.RecStatus = "A";
-                if (String.IsNullOrEmpty(data.Id))
-                {
-                    data.Creater = curentuser.Id;
-                    data.Createtime = DateTime.Now;
-                    data.XdTime = data.Createtime;
-                    if (data.OrderType == "03" || data.OrderType == "07" || (data.OrderType == "02" && (data.OrderType1 == "浠f嫙鎶曡瘔涔�" || data.OrderType1 == "浠f嫙璐ㄧ枒鍑�")))
-                    {
-                        var cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(data.Khdw);
-                        if (cooperatecustomCustomerDTO != null && !string.IsNullOrEmpty(cooperatecustomCustomerDTO.HuiyuanId))
-                        {
-                            string huiyuanurl = _configuration.GetSection("huiyuanurl").Value;
-                            string SetCaseOrder = _configuration.GetSection("SetCaseOrder").Value;
 
-                            Uri postUrl2 = new Uri(huiyuanurl + SetCaseOrder);
+            
 
-                            JObject questions2 = new JObject();
-                            questions2.Add("UserID", cooperatecustomCustomerDTO.HuiyuanId);
-                            if (data.OrderType == "03")
-                            {
-                                questions2.Add("CaseType", 0);
-                            }
-                            else if (data.OrderType == "07")
-                            {
-                                questions2.Add("CaseType", 1);
-                            }
-                            else if (data.OrderType == "07")
-                            {
-                                questions2.Add("CaseType", 1);
-                            }
-                            else if (data.OrderType == "02" && (data.OrderType1 == "浠f嫙鎶曡瘔涔�" || data.OrderType1 == "浠f嫙璐ㄧ枒鍑�"))
-                            {
-                                questions2.Add("CaseType", 2);
-                            }
+                bool youhui = true;
 
-                            questions2.Add("count", Decimal.ToInt32(data.OrderNum.Value)  );
-
-                            string requestJson2 = questions2.ToString();
-                            string result2 = string.Empty;
-
-                            using (HttpContent httpContent = new StringContent(requestJson2))
-                            {
-                                httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
-
-                                var httpClient2 = _clientFactory.CreateClient();
-                                httpClient2.Timeout = new TimeSpan(0, 0, 10);
-                                var Result2 = await httpClient2.PostAsync(postUrl2, httpContent);
-                                result2 = Result2.Content.ReadAsStringAsync().Result;
-                            }
-
-                            _logger.LogInformation("result2:" + result2);
-                            JObject jobjectresult = (JObject)JsonConvert.DeserializeObject(result2);
-
-                            if (jobjectresult["code"] != null && jobjectresult["code"].ToString() == "1")
-                            {
-                                resultEntity.Result = true;
-                            }
-                            else
-                            {
-                                resultEntity.Result = false;
-                                resultEntity.Message = "鍐欏叆浼氬憳璁㈠崟澶辫触";
-                                return new JsonResult(resultEntity);
-                            }
-                        }
-                    }
-
-
-                
-
-                    
-                }
-
-            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
-                new TransactionOptions
-                {
-                    IsolationLevel = IsolationLevel.ReadCommitted,
-                    Timeout = TransactionManager.MaximumTimeout
-                }
-                ))
+            if (String.IsNullOrEmpty(data.Id))
             {
-
-                var youHuiDTOs = _askService.GetAskYouHuiList(data.Khdw, data.OrderType).FirstOrDefault();
-                if (youHuiDTOs != null)
+                var cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(data.Khdw);
+                if (cooperatecustomCustomerDTO != null && !string.IsNullOrEmpty(cooperatecustomCustomerDTO.HuiyuanId))
                 {
-                    data.Youhuier = youHuiDTOs.Id;
-                    if (youHuiDTOs.Youhuistandard == "01")
+                    var cooperOrderDTOs = _cooperOrderService.GetListComplaintsDisputeCount(cooperatecustomCustomerDTO.HuiyuanId).FirstOrDefault();
+                    if(cooperOrderDTOs != null)
                     {
-                        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)
+                        if ((cooperOrderDTOs.ComplaintsDisputeCount - cooperOrderDTOs.ComplaintsDisputeCountused > 0) && (data.OrderType == "02" && (data.OrderType1 == "浠f嫙鎶曡瘔涔�" || data.OrderType1 == "浠f嫙璐ㄧ枒鍑�")))
                         {
                             data.Youhui = data.Money.Value;
                             data.Money = 0;
+                            youhui = false;
+                        }
+                        else if ((cooperOrderDTOs.BiddingDocumentsCount - cooperOrderDTOs.BiddingDocumentsCountused > 0) && data.OrderType == "03")
+                        {
+                            data.Youhui = data.Money.Value;
+                            data.Money = 0;
+                            youhui = false;
+                        }
+                        else if ((cooperOrderDTOs.PerformanceDisputeCount - cooperOrderDTOs.PerformanceDisputeCountused > 0) && data.OrderType == "07")
+                        {
+                            data.Youhui = data.Money.Value;
+                            data.Money = 0;
+                            youhui = false;
+                        }
+                    }
+                }
+
+
+                data.Creater = curentuser.Id;
+                data.Createtime = DateTime.Now;
+                data.XdTime = data.Createtime;
+                if (data.OrderType == "03" || data.OrderType == "07" || (data.OrderType == "02" && (data.OrderType1 == "浠f嫙鎶曡瘔涔�" || data.OrderType1 == "浠f嫙璐ㄧ枒鍑�")))
+                {
+
+                    if (cooperatecustomCustomerDTO != null && !string.IsNullOrEmpty(cooperatecustomCustomerDTO.HuiyuanId))
+                    {
+                        string huiyuanurl = _configuration.GetSection("huiyuanurl").Value;
+                        string SetCaseOrder = _configuration.GetSection("SetCaseOrder").Value;
+
+                        Uri postUrl2 = new Uri(huiyuanurl + SetCaseOrder);
+
+                        JObject questions2 = new JObject();
+                        questions2.Add("UserID", cooperatecustomCustomerDTO.HuiyuanId);
+                        if (data.OrderType == "03")
+                        {
+                            questions2.Add("CaseType", 0);
+                        }
+                        else if (data.OrderType == "07")
+                        {
+                            questions2.Add("CaseType", 1);
+                        }
+                        else if (data.OrderType == "07")
+                        {
+                            questions2.Add("CaseType", 1);
+                        }
+                        else if (data.OrderType == "02" && (data.OrderType1 == "浠f嫙鎶曡瘔涔�" || data.OrderType1 == "浠f嫙璐ㄧ枒鍑�"))
+                        {
+                            questions2.Add("CaseType", 2);
+                        }
+
+                        questions2.Add("count", Decimal.ToInt32(data.OrderNum.Value));
+
+                        string requestJson2 = questions2.ToString();
+                        string result2 = string.Empty;
+
+                        using (HttpContent httpContent = new StringContent(requestJson2))
+                        {
+                            httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
+
+                            var httpClient2 = _clientFactory.CreateClient();
+                            httpClient2.Timeout = new TimeSpan(0, 0, 10);
+                            var Result2 = await httpClient2.PostAsync(postUrl2, httpContent);
+                            result2 = Result2.Content.ReadAsStringAsync().Result;
+                        }
+
+                        _logger.LogInformation("result2:" + result2);
+                        JObject jobjectresult = (JObject)JsonConvert.DeserializeObject(result2);
+
+                        if (jobjectresult["code"] != null && jobjectresult["code"].ToString() == "1")
+                        {
+                            resultEntity.Result = true;
                         }
                         else
                         {
-                            data.Youhui = Math.Round(data.Money.Value * youHuiDTOs.YouHui.Value * new decimal(0.01), 2);
-                            data.Money = data.Money.Value - data.Youhui.Value;
+                            resultEntity.Result = false;
+                            resultEntity.Message = "鍐欏叆浼氬憳璁㈠崟澶辫触";
+                            return new JsonResult(resultEntity);
                         }
                     }
-
-
                 }
+
+
+
+
+
+            }
+
+
+            if(data.OrderType1 == "姘戜簨绾犵悍" || data.OrderType1 == "鍏朵粬绾犵悍")
+            {
+                data.OrderType2 = data.OrderType3;
+            }
+
+            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
+           new TransactionOptions
+           {
+               IsolationLevel = IsolationLevel.ReadCommitted,
+               Timeout = TransactionManager.MaximumTimeout
+           }
+           ))
+            {
+
+                if (youhui)
+                {
+                    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;
@@ -697,6 +750,7 @@
                 {
                     //鏌ヨ涓昏〃
                     var complaintletterDTO = _cooperOrderService.GetListComplaintletter(data.Id).FirstOrDefault();
+                    var challengeletterDTO = _cooperOrderService.GetListChallengeletter(data.TsrId).FirstOrDefault();
                     if (complaintletterDTO != null)
                     {
                         complaintletterDTO.TsrName = data.TsrName;
@@ -704,6 +758,7 @@
                         complaintletterDTO.TsrPostcode = data.TsrPostcode;
                         complaintletterDTO.TsrCorporation = data.TsrCorporation;
                         complaintletterDTO.TsrPhone = data.TsrPhone;
+                        complaintletterDTO.TsrId = data.TsrId;
 
                         complaintletterDTO.XmName = data.tousuXmName;
                         complaintletterDTO.XmCode = data.tousuXmCode;
@@ -718,6 +773,10 @@
                         complaintletterDTO.Modifier = curentuser.Id;
                         complaintletterDTO.Modifytime = DateTime.Now;
                         complaintletterDTO.Status = 1;
+                        if (challengeletterDTO != null)
+                        {
+                            complaintletterDTO.RequestInfo = challengeletterDTO.RequestInfo;
+                        }
                         resultEntity = _cooperOrderService.saveComplaintletter(complaintletterDTO);
                     }
                     else
@@ -729,6 +788,7 @@
                         complaintletterDTO.TsrPostcode = data.TsrPostcode;
                         complaintletterDTO.TsrCorporation = data.TsrCorporation;
                         complaintletterDTO.TsrPhone = data.TsrPhone;
+                        complaintletterDTO.TsrId = data.TsrId;
 
                         complaintletterDTO.XmName = data.tousuXmName;
                         complaintletterDTO.XmCode = data.tousuXmCode;
@@ -745,6 +805,10 @@
                         complaintletterDTO.Creater = curentuser.Id;
                         complaintletterDTO.Createtime = complaintletterDTO.Modifytime;
                         complaintletterDTO.Status = 1;
+                        if (challengeletterDTO != null)
+                        {
+                            complaintletterDTO.RequestInfo = challengeletterDTO.RequestInfo;
+                        }
                         resultEntity = _cooperOrderService.saveComplaintletter(complaintletterDTO);
                     }
                     resultEntity = _cooperOrderService.deleteComplaintShouquandaibiao(complaintletterDTO.Id);
@@ -820,6 +884,30 @@
                                
                         }
                     }
+
+                    resultEntity = _cooperOrderService.deleteChallengeItem(complaintletterDTO.Id);
+                    if (challengeletterDTO!=null)
+                    {
+                        var challengeItemDTOs = _cooperOrderService.GetListChallengeItem(challengeletterDTO.Id);
+                        if (challengeItemDTOs != null && challengeItemDTOs.Count > 0)
+                        {
+                            for (int i = 0; i < challengeItemDTOs.Count; i++)
+                            {
+
+                                var complaintItemDTO = new TComplaintItemDTO();
+                                complaintItemDTO.ComplaintId = complaintletterDTO.Id;
+                                complaintItemDTO.Question = challengeItemDTOs[i].Question;
+                                complaintItemDTO.Evidential = challengeItemDTOs[i].Evidential;
+                                //complaintItemDTO.Law = data.Law[i];
+                                //complaintItemDTO.Lawcoment = data.Lawcoment[i];
+                                complaintItemDTO.Sort = i;
+                                resultEntity = _cooperOrderService.saveComplaintItem(complaintItemDTO);
+
+
+                            }
+                        }
+                    }
+                   
 
                 }
                 else if (data.OrderType1 == "浠f嫙璐ㄧ枒鍑�")
@@ -1045,7 +1133,7 @@
             return View();
         }
         [CheckLogin]
-        public IActionResult chedantuihuan(decimal Price, string Chedanid)
+        public IActionResult chedantuihuan(string Chedanid, decimal Price=0)
         {
             var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
             ViewData["curentuser"] = curentuser;
@@ -1113,6 +1201,45 @@
                 dto.ShouliStatus = "0";
 
                 resultEntity = _cooperOrderService.chedan(dto);
+
+
+                var fiAccountRecordDTOs = _iFiAccountRecordService.GetList("璁㈠崟鏀舵"+dto.OrderNo);
+                if (fiAccountRecordDTOs!= null && fiAccountRecordDTOs.Count > 0)
+                {
+                    foreach (var fiAccountRecordDTO in fiAccountRecordDTOs)
+                    {
+                        CooperatecustomCustomerDTO cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(dto.Khdw);
+                        FiAccountRecordDTO data1 = new FiAccountRecordDTO();
+                        data1.RecStatus = "A";
+                        data1.Creater = curentuser.Id;
+                        data1.Createtime = DateTime.Now;
+                        data1.Modifier = curentuser.Id;
+                        data1.Modifytime = DateTime.Now;
+                        data1.SubjectId = fiAccountRecordDTO.SubjectId;
+
+                        data1.AccountId = fiAccountRecordDTO.AccountId;
+                        data1.Money = fiAccountRecordDTO.Money;
+                        data1.PaymentUnit = cooperatecustomCustomerDTO.Name;
+                        data1.OperationalMatters = "璁㈠崟鎾ゅ崟" + dto.OrderNo;
+
+
+
+                        FiAccountDTO firmAccount = _fiAccountService.Get(data1.AccountId);
+
+
+                        data1.RecordTypeId = "2";//閫�娆�
+                        data1.Department = "";
+
+
+
+                        firmAccount.AllExpenses = (firmAccount.AllExpenses ?? 0) + fiAccountRecordDTO.Money;
+                        firmAccount.Balance = (firmAccount.Balance ?? 0) - fiAccountRecordDTO.Money;
+
+                        data1.AccountMoney = firmAccount.Balance;
+                        resultEntity = _iFiAccountRecordService.save(data1);
+                        resultEntity = _fiAccountService.save(firmAccount);
+                    }
+                }
                 scope.Complete();
             }
             return new JsonResult(resultEntity);
@@ -1292,7 +1419,7 @@
                 var shi = _fiBookService.GetList().Select(x => new { code = x.Id, label = x.BookName }).ToList();
                 result = JsonConvert.SerializeObject(shi);
             }
-            if (OrderType == "02"  || OrderType == "04" || OrderType == "06"   || OrderType == "09")
+            if (OrderType == "02"  || OrderType == "04" || OrderType == "06"   || OrderType == "09" || OrderType == "08")
             {
                 var shi = _fiServiceService.GetList().Where(x=>x.ServiceTypeTop == OrderType).Select(x => new { code = x.ServiceType, label = x.ServiceType }).Distinct().ToList();
                 result = JsonConvert.SerializeObject(shi);
@@ -1308,7 +1435,7 @@
                 result = JsonConvert.SerializeObject(shi);
             }
 
-            if (OrderType == "08" || OrderType == "10" || OrderType == "11")
+            if (OrderType == "10" || OrderType == "11")
             {
                
                 result = "[]";
@@ -1491,6 +1618,7 @@
             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();
@@ -1545,6 +1673,14 @@
         {
             var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
             ViewData["curentuser"] = curentuser;
+            var sysCodeDtls = _liaotianService.GetSYScode("expert_test_topicjiexi", "falv").OrderBy(x => x.CodeSn).ToList();//娉曞緥
+            var sysCodeDtls1 = _liaotianService.GetSYScode("t_complaint_items", "law").OrderBy(x => x.CodeSn).ToList();//娉曞緥渚濇嵁
+            foreach (var sysCodeDtl in sysCodeDtls1)
+            {
+                var sysCodeDtl1 = sysCodeDtls.Where(x => x.CodeSn == sysCodeDtl.Comments).FirstOrDefault();
+                if (sysCodeDtl1 != null)
+                    sysCodeDtl.CodeSn = sysCodeDtl1.Comments;
+            }
 
             //璐ㄧ枒鍑�
             List<TChallengeletterDTO> challengeletterDTOs = _cooperOrderService.GetListChallengeletter(id);
@@ -1558,9 +1694,26 @@
                 }
                 List<TChallengeItemDTO> challengeItemDTOs = _cooperOrderService.GetListChallengeItem(challengeletterDTO.Id);
                 if (challengeItemDTOs.Count > 0)
+                {
                     challengeletterDTO.challengeItemDTOs = challengeItemDTOs;
+                    foreach (var challengeItemDTO in challengeletterDTO.challengeItemDTOs)
+                    {
+                      var sysCodeDtls2 =  sysCodeDtls1.Where(x => x.Classify1 == challengeItemDTO.Question).ToList();
+                        if (!string.IsNullOrEmpty(challengeItemDTO.Law))
+                        {
+                            sysCodeDtls2 = sysCodeDtls2.Where(x => challengeItemDTO.Law.Split(',').Contains(x.Comments)).ToList();
+                        }
+                        challengeItemDTO.sysCodeDtls = sysCodeDtls2;
+                    }
+                }
                 else
-                    challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() };
+                {
+                    var challengeItemDTO = new TChallengeItemDTO();
+                    challengeItemDTO.Id = 1;
+                    challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { challengeItemDTO };
+                    challengeletterDTO.challengeItemDTOs[0].sysCodeDtls = new List<SysCodeDtl>() { new SysCodeDtl() };
+                }
+                  
                 List<TComplaintShouquandaibiaoDTO> complaintShouquandaibiaoDTOs = _cooperOrderService.GetListComplaintShouquandaibiao(challengeletterDTO.Id);
 
                 if (complaintShouquandaibiaoDTOs.Count > 0)
@@ -1570,7 +1723,10 @@
             }
             else
             {
-                challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() };
+                var challengeItemDTO = new TChallengeItemDTO();
+                challengeItemDTO.Id = 1;
+                challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { challengeItemDTO };
+                challengeletterDTO.challengeItemDTOs[0].sysCodeDtls = new List<SysCodeDtl>() { new SysCodeDtl() };
                 challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
             }
             //ViewBag.challengeletterDTO = challengeletterDTO;
@@ -1580,15 +1736,7 @@
 
             ViewBag.request_info = _liaotianService.GetSYScode("t_challengeletter", "request_info").OrderBy(x=>x.CodeSn).ToList();//璐ㄧ枒璇锋眰
             ViewBag.question = _liaotianService.GetSYScode("t_challenge_items", "question").OrderBy(x => x.CodeSn).ToList(); //	璐ㄧ枒浜嬮」
-            var sysCodeDtls = _liaotianService.GetSYScode("expert_test_topicjiexi", "falv").OrderBy(x => x.CodeSn).ToList();//娉曞緥
-            var sysCodeDtls1 = _liaotianService.GetSYScode("t_complaint_items", "law").OrderBy(x => x.CodeSn).ToList();//娉曞緥渚濇嵁
-            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;//娉曞緥渚濇嵁
 
 
@@ -1619,7 +1767,7 @@
             return new JsonResult(resultEntity);
         }
 
-        public IActionResult getQuestionLaw(string id, string no)
+        public IActionResult getQuestionLaw(string id, string no,string challengeItemId = "")
         {
             ResultEntity<SysCodeDtl> resultEntity = new ResultEntity<SysCodeDtl>();
             resultEntity.Result = true;
@@ -1632,7 +1780,7 @@
             {
                 var sysCodeDtl1 = sysCodeDtls1.Where(x => x.CodeSn == sysCodeDtl.Comments).FirstOrDefault();
                 if (sysCodeDtl1 != null)
-                    sysCodeDtl.Comments = sysCodeDtl1.Comments;
+                    sysCodeDtl.CodeSn = sysCodeDtl1.Comments;
             }
 
             //if (sysCodeDtl != null)
@@ -1640,9 +1788,195 @@
             //    resultEntity.Message = sysCodeDtl.Contents;
             //}
             resultEntity.Message = no;
+            resultEntity.Remark = challengeItemId;
             resultEntity.DataList = sysCodeDtls;
 
             return new JsonResult(resultEntity);
+        }
+
+
+        public IActionResult getZhiyihan(string id = null)
+        {
+            var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+            ViewData["curentuser"] = curentuser;
+            var sysCodeDtls = _liaotianService.GetSYScode("expert_test_topicjiexi", "falv").OrderBy(x => x.CodeSn).ToList();//娉曞緥
+            var sysCodeDtls1 = _liaotianService.GetSYScode("t_complaint_items", "law").OrderBy(x => x.CodeSn).ToList();//娉曞緥渚濇嵁
+            foreach (var sysCodeDtl in sysCodeDtls1)
+            {
+                var sysCodeDtl1 = sysCodeDtls.Where(x => x.CodeSn == sysCodeDtl.Comments).FirstOrDefault();
+                if (sysCodeDtl1 != null)
+                    sysCodeDtl.CodeSn = sysCodeDtl1.Comments;
+            }
+
+            //璐ㄧ枒鍑�
+            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;
+                    foreach (var challengeItemDTO in challengeletterDTO.challengeItemDTOs)
+                    {
+                        var sysCodeDtls2 = sysCodeDtls1.Where(x => x.Classify1 == challengeItemDTO.Question).ToList();
+                        challengeItemDTO.sysCodeDtls = sysCodeDtls2;
+                    }
+                }
+                else
+                {
+                    challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() };
+                    challengeletterDTO.challengeItemDTOs[0].sysCodeDtls = new List<SysCodeDtl>() { new SysCodeDtl() };
+                }
+
+                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.challengeItemDTOs[0].sysCodeDtls = new List<SysCodeDtl>() { new SysCodeDtl() };
+                challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+            }
+            var question = _liaotianService.GetSYScode("t_challenge_items", "question").OrderBy(x => x.CodeSn).ToList(); //	璐ㄧ枒浜嬮」
+            StringBuilder data = new StringBuilder();
+
+            for (int i = 0; i < challengeletterDTO.challengeItemDTOs.Count; i++)
+            {
+                if (challengeletterDTO.challengeItemDTOs.Count == 1)
+                {
+                    data.Append("<div class=\"clearfix layer-area\" style=\"padding-bottom:15px; \">");
+                    data.Append("<label grouptype=\"Vdata\"  id=\"Questionlabel\" class=\"text-right col-sm-1 col-md-1 control-label\">鎶曡瘔浜嬮」</label>");
+                    data.Append("<div class=\"col-sm-4 col-md-4\" grouptype =\"Vdata\" > ");
+                    data.Append(" <select class=\"form - control\" name=\"Question\" data-placeholder=\"閫夋嫨 搴忓垪...\" onchange=\"Questionchangge(" + i + "); \">");
+                    data.Append("<option value=\"\" hassubinfo=\"true\">璇烽�夋嫨</option>");
+                    foreach (var item in question)
+                    {
+                        if (!item.CodeSn.Equals(challengeletterDTO.challengeItemDTOs[i].Question))
+                        {
+                            data.Append("<option value=\"" + item.CodeSn + "\" hassubinfo=\"true\">" + item.Comments + "</option>");
+                        }
+                        else
+                        {
+                            data.Append("<option value=\"" + item.CodeSn + "\" hassubinfo=\"true\"  selected=\"selected\" >" + item.Comments + "</option>");
+                        }
+                    }
+                    data.Append("</select>");
+                    data.Append(" </div>");
+                    if (i == 0)
+                    {
+                        data.Append("<div class=\"col-sm-2 col-md-2\" grouptype=\"Vdata\">  <button type=\"button\" class=\"addBtn\" onclick =\"addzhiyishixiang(this)\" data-type=\"1\" > 鎶曡瘔浜嬮」</button>   </div>");
+                    }
+                    data.Append(" </div>");
+                    data.Append("<div class=\"clearfix layer-area\" style =\"padding-bottom:15px; \" > ");
+                    data.Append("<label grouptype=\"Vdata\" id=\"Evidentiallabel\"  class=\"text-right col-sm-1 col-md-1 control-label\" > 浜嬪疄渚濇嵁</label>");
+                    data.Append(" <div class=\"col-sm-8 col-md-8\" > ");
+                    data.Append("<textarea class=\"form-control bt\" name =\"Evidential\" title =\"浜嬪疄渚濇嵁\" isempty =\"\" maxlength =\"300\" length =\"long\" > " + challengeletterDTO.challengeItemDTOs[i].Evidential + "</textarea>");
+                    data.Append("</div>");
+                    data.Append("</div>");
+                    data.Append(" <div id=\"falvyiju" + i + "\">");
+                    for (int j = 0; j < challengeletterDTO.challengeItemDTOs[i].sysCodeDtls.Count; j++)
+                    {
+                        if (challengeletterDTO.challengeItemDTOs[i].sysCodeDtls.Count == 1)
+                        {
+                            data.Append("<div class=\"clearfix layer-area\" style=\"padding-bottom:15px; \">");
+                            data.Append("<label grouptype=\"Vdata\" class=\"text-right col-sm-1 col-md-1 control-label\" > 娉曞緥渚濇嵁</label>");
+                            data.Append("<div class=\"col-sm-8 col-md-8\" > 銆�" + challengeletterDTO.challengeItemDTOs[i].sysCodeDtls[j].CodeSn + "銆�"+ challengeletterDTO.challengeItemDTOs[i].sysCodeDtls[j].Classify2 + "锛�"+ challengeletterDTO.challengeItemDTOs[i].sysCodeDtls[j].Contents + "</div>");
+                            data.Append("</div>");
+
+                            
+                        }
+                        else
+                        {
+                            data.Append("<div class=\"clearfix layer-area\" style=\"padding-bottom:15px; \">");
+                            data.Append("<label grouptype=\"Vdata\" class=\"text-right col-sm-1 col-md-1 control-label\" > 娉曞緥渚濇嵁" + (i +1) + "</label>");
+                            data.Append("<div class=\"col-sm-8 col-md-8\" > 銆�" + challengeletterDTO.challengeItemDTOs[i].sysCodeDtls[j].CodeSn + "銆�" + challengeletterDTO.challengeItemDTOs[i].sysCodeDtls[j].Classify2 + "锛�" + challengeletterDTO.challengeItemDTOs[i].sysCodeDtls[j].Contents + "</div>");
+                            data.Append("</div>");
+
+                            
+                        }
+                       
+                    }
+
+
+                    data.Append("</div>");
+                }
+                else
+                {
+                    data.Append("<div class=\"clearfix layer-area\" style=\"padding-bottom:15px; \">");
+                    data.Append("<label grouptype=\"Vdata\" class=\"text-right col-sm-1 col-md-1 control-label\">鎶曡瘔浜嬮」" + (i +1) + "</label>");
+                    data.Append("<div class=\"col-sm-4 col-md-4\" grouptype =\"Vdata\" > ");
+                    data.Append(" <select class=\"form - control\" name=\"Question\" data-placeholder=\"閫夋嫨 搴忓垪...\" onchange=\"Questionchangge(" + i + "); \">");
+                    data.Append("<option value=\"\" hassubinfo=\"true\">璇烽�夋嫨</option>");
+                    foreach (var item in question)
+                    {
+                        if (!item.CodeSn.Equals(challengeletterDTO.challengeItemDTOs[i].Question))
+                        {
+                            data.Append("<option value=\"" + item.CodeSn + "\" hassubinfo=\"true\">" + item.Comments + "</option>");
+                        }
+                        else
+                        {
+                            data.Append("<option value=\"" + item.CodeSn + "\" hassubinfo=\"true\"  selected=\"selected\" >" + item.Comments + "</option>");
+                        }
+                    }
+                    data.Append("</select>");
+                    data.Append(" </div>");
+                    if (i == 0)
+                    {
+                        data.Append("<div class=\"col-sm-2 col-md-2\" grouptype=\"Vdata\">  <button type=\"button\" class=\"addBtn\" onclick =\"addzhiyishixiang(this)\" data-type=\"1\" > 鎶曡瘔浜嬮」</button>   </div>");
+                    }
+                    data.Append(" </div>");
+                    data.Append("<div class=\"clearfix layer-area\" style =\"padding-bottom:15px; \" > ");
+                    data.Append("<label grouptype=\"Vdata\" class=\"text-right col-sm-1 col-md-1 control-label\" > 浜嬪疄渚濇嵁" + (i + 1) + "</label>");
+                    data.Append(" <div class=\"col-sm-8 col-md-8\" > ");
+                    data.Append("<textarea class=\"form-control bt\" name =\"Evidential\" title =\"浜嬪疄渚濇嵁\" isempty =\"\" maxlength =\"300\" length =\"long\" > " + challengeletterDTO.challengeItemDTOs[i].Evidential + "</textarea>");
+                    data.Append("</div>");
+                    data.Append("</div>");
+                    data.Append(" <div id=\"falvyiju" + i + "\">");
+                    for (int j = 0; j < challengeletterDTO.challengeItemDTOs[i].sysCodeDtls.Count; j++)
+                    {
+                        if (challengeletterDTO.challengeItemDTOs[i].sysCodeDtls.Count == 1)
+                        {
+                            data.Append("<div class=\"clearfix layer-area\" style=\"padding-bottom:15px; \">");
+                            data.Append("<label grouptype=\"Vdata\" class=\"text-right col-sm-1 col-md-1 control-label\" > 娉曞緥渚濇嵁</label>");
+                            data.Append("<div class=\"col-sm-8 col-md-8\" > 銆�" + challengeletterDTO.challengeItemDTOs[i].sysCodeDtls[j].CodeSn + "銆�" + challengeletterDTO.challengeItemDTOs[i].sysCodeDtls[j].Classify2 + "锛�" + challengeletterDTO.challengeItemDTOs[i].sysCodeDtls[j].Contents + "</div>");
+                            data.Append("</div>");
+
+
+                        }
+                        else
+                        {
+                            data.Append("<div class=\"clearfix layer-area\" style=\"padding-bottom:15px; \">");
+                            data.Append("<label grouptype=\"Vdata\" class=\"text-right col-sm-1 col-md-1 control-label\" > 娉曞緥渚濇嵁" + (i + 1) + "</label>");
+                            data.Append("<div class=\"col-sm-8 col-md-8\" > 銆�" + challengeletterDTO.challengeItemDTOs[i].sysCodeDtls[j].CodeSn + "銆�" + challengeletterDTO.challengeItemDTOs[i].sysCodeDtls[j].Classify2 + "锛�" + challengeletterDTO.challengeItemDTOs[i].sysCodeDtls[j].Contents + "</div>");
+                            data.Append("</div>");
+
+
+                        }
+                    }
+
+
+                    data.Append("</div>");
+                }
+
+
+               
+            }
+
+            challengeletterDTO.GysId = data.ToString();
+
+            return new JsonResult(challengeletterDTO);
+
+ 
         }
 
         /// <summary>
@@ -1690,7 +2024,7 @@
                     challengeletterDTO.DocumentsDate = data.zhiyiDocumentsDate;
                     challengeletterDTO.Modifier = curentuser.Id;
                     challengeletterDTO.Modifytime = DateTime.Now;
-                    challengeletterDTO.Status = 2;
+                    challengeletterDTO.Status = int.Parse(data.Status);
                     challengeletterDTO.RequestInfo = data.RequestInfo;
                     challengeletterDTO.PrintNum = data.PrintNum;
                     resultEntity = _cooperOrderService.saveChallengeletter(challengeletterDTO);
@@ -1714,7 +2048,7 @@
                     challengeletterDTO.Modifytime = DateTime.Now;
                     challengeletterDTO.Creater = curentuser.Id;
                     challengeletterDTO.Createtime = challengeletterDTO.Modifytime;
-                    challengeletterDTO.Status = 2;
+                    challengeletterDTO.Status =  int.Parse(data.Status); ;
                     challengeletterDTO.RequestInfo = data.RequestInfo;
                     challengeletterDTO.PrintNum = data.PrintNum;
                     resultEntity = _cooperOrderService.saveChallengeletter(challengeletterDTO);
@@ -1751,15 +2085,32 @@
                     {
                         if (!(string.IsNullOrEmpty(data.Question[i])
                             && string.IsNullOrEmpty(data.Evidential[i])
-                            && string.IsNullOrEmpty(data.Law[i])
-                            && string.IsNullOrEmpty(data.Lawcoment[i])))
+                           ))
                         {
+                            string Law = "";
+                            var challengeItemId = data.challengeItemId[i];
+                            var Laws = data.Law;
+                            var challengeItemIdlaw = data.challengeItemIdlaw;
+                            if(Laws != null&& Laws.Length > 0)
+                            {
+                                for (int j = 0; j < Laws.Length; j++)
+                                {
+                                    if(challengeItemId == challengeItemIdlaw[j])
+                                    {
+                                        Law += Laws[j] + ",";
+                                    }
+
+                                }
+                                if(!string.IsNullOrEmpty(Law))
+                                    Law = Law.TrimEnd(',');  //绉婚櫎鏈�鍚庣殑閫楀彿
+                            }
+
                             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.Law = Law;
+                            //challengeItemDTO.Lawcoment = data.Lawcoment[i];
                             challengeItemDTO.Sort = i;
                             resultEntity = _cooperOrderService.saveChallengeItem(challengeItemDTO);
                         }
@@ -1778,7 +2129,14 @@
         {
             var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
             ViewData["curentuser"] = curentuser;
-
+            var sysCodeDtls = _liaotianService.GetSYScode("expert_test_topicjiexi", "falv").OrderBy(x => x.CodeSn).ToList();//娉曞緥
+            var sysCodeDtls1 = _liaotianService.GetSYScode("t_complaint_items", "law").OrderBy(x => x.CodeSn).ToList();//娉曞緥渚濇嵁
+            foreach (var sysCodeDtl in sysCodeDtls1)
+            {
+                var sysCodeDtl1 = sysCodeDtls.Where(x => x.CodeSn == sysCodeDtl.Comments).FirstOrDefault();
+                if (sysCodeDtl1 != null)
+                    sysCodeDtl.CodeSn = sysCodeDtl1.Comments;
+            }
             //璐ㄧ枒鍑�
             List<TChallengeletterDTO> challengeletterDTOs = _cooperOrderService.GetListChallengeletter(id);
             TChallengeletterDTO challengeletterDTO = new TChallengeletterDTO();
@@ -1791,20 +2149,37 @@
                 }
                 List<TChallengeItemDTO> challengeItemDTOs = _cooperOrderService.GetListChallengeItem(challengeletterDTO.Id);
                 if (challengeItemDTOs.Count > 0)
+                {
                     challengeletterDTO.challengeItemDTOs = challengeItemDTOs;
+                    foreach (var challengeItemDTO in challengeletterDTO.challengeItemDTOs)
+                    {
+                        var sysCodeDtls2 = sysCodeDtls1.Where(x => x.Classify1 == challengeItemDTO.Question).ToList();
+                        if (!string.IsNullOrEmpty(challengeItemDTO.Law))
+                        {
+                            sysCodeDtls2 = sysCodeDtls2.Where(x => challengeItemDTO.Law.Split(',').Contains(x.Comments)).ToList();
+                        }
+                        challengeItemDTO.sysCodeDtls = sysCodeDtls2;
+                    }
+                }
+                  
                 else
+                {
                     challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() };
+                    challengeletterDTO.challengeItemDTOs[0].sysCodeDtls = new List<SysCodeDtl>() { new SysCodeDtl() };
+                }
+                  
                 List<TComplaintShouquandaibiaoDTO> complaintShouquandaibiaoDTOs = _cooperOrderService.GetListComplaintShouquandaibiao(challengeletterDTO.Id);
 
                 if (complaintShouquandaibiaoDTOs.Count > 0)
                     challengeletterDTO.complaintShouquandaibiaoDTOs = complaintShouquandaibiaoDTOs;
                 else
-                    challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+                    challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() /*{ new TComplaintShouquandaibiaoDTO() }*/;
             }
             else
             {
                 challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() };
-                challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+                challengeletterDTO.challengeItemDTOs[0].sysCodeDtls = new List<SysCodeDtl>() { new SysCodeDtl() };
+                challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() /*{ new TComplaintShouquandaibiaoDTO() }*/;
             }
             //ViewBag.challengeletterDTO = challengeletterDTO;
 
@@ -1837,7 +2212,15 @@
         {
             var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
             ViewData["curentuser"] = curentuser;
+            var sysCodeDtls = _liaotianService.GetSYScode("expert_test_topicjiexi", "falv").OrderBy(x => x.CodeSn).ToList();//娉曞緥
+            var sysCodeDtls1 = _liaotianService.GetSYScode("t_complaint_items", "law").OrderBy(x => x.CodeSn).ToList();//娉曞緥渚濇嵁
 
+            foreach (var sysCodeDtl in sysCodeDtls1)
+            {
+                var sysCodeDtl1 = sysCodeDtls.Where(x => x.CodeSn == sysCodeDtl.Comments).FirstOrDefault();
+                if (sysCodeDtl1 != null)
+                    sysCodeDtl.CodeSn = sysCodeDtl1.Comments;
+            }
             //鎶曡瘔涔�
             List<TComplaintletterDTO> complaintletterDTOs = _cooperOrderService.GetListComplaintletter(id);
             TComplaintletterDTO complaintletterDTO = new TComplaintletterDTO();
@@ -1867,9 +2250,26 @@
 
                 List<TComplaintItemDTO> complaintItemDTOs = _cooperOrderService.GetListComplaintItem(complaintletterDTO.Id);
                 if (complaintItemDTOs.Count > 0)
+                {
                     complaintletterDTO.complaintItemDTOs = complaintItemDTOs;
+                    foreach (var complaintItemDTO in complaintletterDTO.complaintItemDTOs)
+                    {
+                        var sysCodeDtls2 = sysCodeDtls1.Where(x => x.Classify1 == complaintItemDTO.Question).ToList();
+                        if (!string.IsNullOrEmpty(complaintItemDTO.Law))
+                        {
+                            sysCodeDtls2 = sysCodeDtls2.Where(x => complaintItemDTO.Law.Split(',').Contains(x.Comments)).ToList();
+                        }
+                        complaintItemDTO.sysCodeDtls = sysCodeDtls2;
+                    }
+                }
                 else
-                    complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() };
+                {
+                    var complaintItemDTO = new TComplaintItemDTO();
+                    complaintItemDTO.Id = 1;
+                    complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { complaintItemDTO };
+                    complaintletterDTO.complaintItemDTOs[0].sysCodeDtls = new List<SysCodeDtl>() { new SysCodeDtl() };
+                }
+                   
 
                 List<TComplaintRespondentDTO> complaintRespondentDTOs = _cooperOrderService.GetListComplaintRespondent(complaintletterDTO.Id);
                 if (complaintRespondentDTOs.Count > 0)
@@ -1887,38 +2287,82 @@
                 if (complaintGongyingshangDTOs.Count > 0)
                     complaintletterDTO.complaintGongyingshangDTOs = complaintGongyingshangDTOs;
                 else
-                    complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() { new TComplaintGongyingshangDTO() };
+                    complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() /*{ new TComplaintGongyingshangDTO() }*/;
 
             }
             else
             {
-                complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() };
+                var complaintItemDTO = new TComplaintItemDTO();
+                complaintItemDTO.Id = 1;
+                complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { complaintItemDTO };
+                complaintletterDTO.complaintItemDTOs[0].sysCodeDtls = new List<SysCodeDtl>() { new SysCodeDtl() };
                 complaintletterDTO.complaintRespondentDTOs = new List<TComplaintRespondentDTO>() { new TComplaintRespondentDTO() };
                 complaintletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
-                complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() { new TComplaintGongyingshangDTO() };
+                complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>()/* { new TComplaintGongyingshangDTO() }*/;
 
             }
+            //鍒ゆ柇鏄惁鏈夎川鐤戝嚱
+            if (complaintletterDTO.Status != 2)
+            {
+                CooperOrderDTO cooperOrderDTO = _cooperOrderService.Get(complaintletterDTO.OrderId);
+                List<TChallengeletterDTO> challengeletterDTOs = _cooperOrderService.GetListChallengelettertousu(cooperOrderDTO.Khdw, complaintletterDTO.XmCode);
+
+                if(challengeletterDTOs!=null&& challengeletterDTOs.Count > 0)
+                {
+                    TChallengeletterDTO challengeletterDTO = challengeletterDTOs[0];
+                    complaintletterDTO.PurchaserName = challengeletterDTO.PurchaserName;
+                    complaintletterDTO.ChallengeDateName = challengeletterDTO.DocumentsDate.HasValue ? challengeletterDTO.DocumentsDate.Value.ToString("yyyy-MM-dd") : "";
+                    complaintletterDTO.RequestInfo = challengeletterDTO.RequestInfo;
+                    complaintletterDTO.Questioned = challengeletterDTO.PurchaserName;
+                    complaintletterDTO.complaintShouquandaibiaoDTOs = _cooperOrderService.GetListComplaintShouquandaibiao(challengeletterDTO.Id);
+                    if (complaintletterDTO.complaintShouquandaibiaoDTOs.Count == 0)
+                        complaintletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
 
 
+                    List<TChallengeItemDTO> challengeItemDTOs = _cooperOrderService.GetListChallengeItem(challengeletterDTO.Id);
+                    if (challengeItemDTOs.Count > 0)
+                    {
+                        List<TComplaintItemDTO> complaintItemDTOs = new List<TComplaintItemDTO>();
+                        foreach(var challengeItemDTO in challengeItemDTOs)
+                        {
+                            TComplaintItemDTO complaintItemDTO = new TComplaintItemDTO();
+                            complaintItemDTO.Id = challengeItemDTO.Id;
+                            complaintItemDTO.ComplaintId = challengeItemDTO.ChallengeId;
+                            complaintItemDTO.Question = challengeItemDTO.Question;
+                            complaintItemDTO.Evidential = challengeItemDTO.Evidential;
+                            complaintItemDTO.Law = challengeItemDTO.Law;
+                            complaintItemDTO.Lawcoment = challengeItemDTO.Lawcoment;
+                            complaintItemDTO.Sort = challengeItemDTO.Sort;
+
+                            complaintItemDTOs.Add(complaintItemDTO);
+                        }
+
+                        complaintletterDTO.complaintItemDTOs = complaintItemDTOs;
+                        foreach (var complaintItemDTO in complaintletterDTO.complaintItemDTOs)
+                        {
+                            var sysCodeDtls2 = sysCodeDtls1.Where(x => x.Classify1 == complaintItemDTO.Question).ToList();
+                            complaintItemDTO.sysCodeDtls = sysCodeDtls2;
+                        }
+                    }
+                    else
+                    {
+                        complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() };
+                        complaintletterDTO.complaintItemDTOs[0].sysCodeDtls = new List<SysCodeDtl>() { new SysCodeDtl() };
+                    }
+
+                }
+            }
 
 
             ViewBag.request_info = _liaotianService.GetSYScode("t_challengeletter", "request_info").OrderBy(x => x.CodeSn).ToList();//璐ㄧ枒璇锋眰
             ViewBag.question = _liaotianService.GetSYScode("t_challenge_items", "question").OrderBy(x => x.CodeSn).ToList(); //	璐ㄧ枒浜嬮」
-            var sysCodeDtls = _liaotianService.GetSYScode("expert_test_topicjiexi", "falv").OrderBy(x => x.CodeSn).ToList();//娉曞緥
-            var sysCodeDtls1 = _liaotianService.GetSYScode("t_complaint_items", "law").OrderBy(x => x.CodeSn).ToList();//娉曞緥渚濇嵁
-           
-            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");
 
-
+            ViewBag.ChallengeletterChosen = _cooperOrderService.GetListChallengeletterChosen().Where(x => x.Createtime >= DateTime.Now.AddMonths(-2)).ToList(); ;
 
             ViewData.Model = complaintletterDTO;
             return View();
@@ -1985,9 +2429,10 @@
 
                     complaintletterDTO.Modifier = curentuser.Id;
                     complaintletterDTO.Modifytime = DateTime.Now;
-                    complaintletterDTO.Status = 2;
+                    complaintletterDTO.Status = int.Parse(data.Status);
                     complaintletterDTO.RequestInfo = data.RequestInfo;
                     complaintletterDTO.PrintNum = data.PrintNum;
+                    complaintletterDTO.TsrId = data.TsrId;
                     resultEntity = _cooperOrderService.saveComplaintletter(complaintletterDTO);
                 }
                 else
@@ -2023,9 +2468,10 @@
                     complaintletterDTO.Modifytime = DateTime.Now;
                     complaintletterDTO.Creater = curentuser.Id;
                     complaintletterDTO.Createtime = complaintletterDTO.Modifytime;
-                    complaintletterDTO.Status = 2;
+                    complaintletterDTO.Status =  int.Parse(data.Status);
                     complaintletterDTO.RequestInfo = data.RequestInfo;
                     complaintletterDTO.PrintNum = data.PrintNum;
+                    complaintletterDTO.TsrId = data.TsrId;
                     resultEntity = _cooperOrderService.saveComplaintletter(complaintletterDTO);
                 }
 
@@ -2114,15 +2560,32 @@
                     {
                         if (!(string.IsNullOrEmpty(data.Question[i])
                             && string.IsNullOrEmpty(data.Evidential[i])
-                            && string.IsNullOrEmpty(data.Law[i])
-                            && string.IsNullOrEmpty(data.Lawcoment[i])))
+                            ))
                         {
+                            string Law = "";
+                            var complaintItemId = data.complaintItemId[i];
+                            var Laws = data.Law;
+                            var complaintItemIdlaw = data.complaintItemIdlaw;
+                            if (Laws != null && Laws.Length > 0)
+                            {
+                                for (int j = 0; j < Laws.Length; j++)
+                                {
+                                    if (complaintItemId == complaintItemIdlaw[j])
+                                    {
+                                        Law += Laws[j] + ",";
+                                    }
+
+                                }
+                                if (!string.IsNullOrEmpty(Law))
+                                    Law = Law.TrimEnd(',');  //绉婚櫎鏈�鍚庣殑閫楀彿
+                            }
+
                             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.Law = Law;
+                            //complaintItemDTO.Lawcoment = data.Lawcoment[i];
                             complaintItemDTO.Sort = i;
                             resultEntity = _cooperOrderService.saveComplaintItem(complaintItemDTO);
                         }
@@ -2142,7 +2605,14 @@
         {
             var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
             ViewData["curentuser"] = curentuser;
-
+            var sysCodeDtls = _liaotianService.GetSYScode("expert_test_topicjiexi", "falv").OrderBy(x => x.CodeSn).ToList();//娉曞緥
+            var sysCodeDtls1 = _liaotianService.GetSYScode("t_complaint_items", "law").OrderBy(x => x.CodeSn).ToList();//娉曞緥渚濇嵁
+            foreach (var sysCodeDtl in sysCodeDtls1)
+            {
+                var sysCodeDtl1 = sysCodeDtls.Where(x => x.CodeSn == sysCodeDtl.Comments).FirstOrDefault();
+                if (sysCodeDtl1 != null)
+                    sysCodeDtl.CodeSn = sysCodeDtl1.Comments;
+            }
             //鎶曡瘔涔�
             List<TComplaintletterDTO> complaintletterDTOs = _cooperOrderService.GetListComplaintletter(id);
             TComplaintletterDTO complaintletterDTO = new TComplaintletterDTO();
@@ -2162,19 +2632,35 @@
 
                 if (complaintletterDTO.ChallengeDate.HasValue)
                 {
-                    complaintletterDTO.ChallengeDateName = complaintletterDTO.ChallengeDate.Value.ToString("yyyy-MM-dd");
+                    complaintletterDTO.ChallengeDateName = complaintletterDTO.ChallengeDate.Value.ToString("yyyy骞碝M鏈坉d鏃�");
                 }
                 if (complaintletterDTO.RespondDate.HasValue)
                 {
-                    complaintletterDTO.RespondDateName = complaintletterDTO.RespondDate.Value.ToString("yyyy-MM-dd");
+                    complaintletterDTO.RespondDateName = complaintletterDTO.RespondDate.Value.ToString("yyyy骞碝M鏈坉d鏃�");
                 }
 
 
                 List<TComplaintItemDTO> complaintItemDTOs = _cooperOrderService.GetListComplaintItem(complaintletterDTO.Id);
                 if (complaintItemDTOs.Count > 0)
+                {
                     complaintletterDTO.complaintItemDTOs = complaintItemDTOs;
+                    foreach (var complaintItemDTO in complaintletterDTO.complaintItemDTOs)
+                    {
+                        var sysCodeDtls2 = sysCodeDtls1.Where(x => x.Classify1 == complaintItemDTO.Question).ToList();
+                        if (!string.IsNullOrEmpty(complaintItemDTO.Law))
+                        {
+                            sysCodeDtls2 = sysCodeDtls2.Where(x => complaintItemDTO.Law.Split(',').Contains(x.Comments)).ToList();
+                        }
+                        complaintItemDTO.sysCodeDtls = sysCodeDtls2;
+                    }
+                }
+                   
                 else
+                {
                     complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() };
+                    complaintletterDTO.complaintItemDTOs[0].sysCodeDtls = new List<SysCodeDtl>() { new SysCodeDtl() };
+                }
+                    
 
                 List<TComplaintRespondentDTO> complaintRespondentDTOs = _cooperOrderService.GetListComplaintRespondent(complaintletterDTO.Id);
                 if (complaintRespondentDTOs.Count > 0)
@@ -2186,29 +2672,66 @@
                 if (complaintShouquandaibiaoDTOs.Count > 0)
                     complaintletterDTO.complaintShouquandaibiaoDTOs = complaintShouquandaibiaoDTOs;
                 else
-                    complaintletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
+                    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() };
+                    complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>()/* { new TComplaintGongyingshangDTO() }*/;
 
             }
             else
             {
                 complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() };
+                complaintletterDTO.complaintItemDTOs[0].sysCodeDtls = new List<SysCodeDtl>() { new SysCodeDtl() };
                 complaintletterDTO.complaintRespondentDTOs = new List<TComplaintRespondentDTO>() { new TComplaintRespondentDTO() };
-                complaintletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
-                complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() { new TComplaintGongyingshangDTO() };
+                complaintletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>()/* { new TComplaintShouquandaibiaoDTO() }*/;
+                complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() /*{ new TComplaintGongyingshangDTO() }*/;
 
             }
 
 
+            if (string.IsNullOrEmpty(complaintletterDTO.ChallengeDateName))
+            {
+                complaintletterDTO.ChallengeDateName = "銆�銆�骞淬��鏈堛��鏃�";
+            }
+            if (string.IsNullOrEmpty(complaintletterDTO.Questioned))
+            {
+                complaintletterDTO.Questioned = "銆�銆�銆�銆�銆�銆�";
+            }
+            if (string.IsNullOrEmpty(complaintletterDTO.Respondent))
+            {
+                complaintletterDTO.Respondent = "銆�銆�銆�銆�銆�銆�";
+            }
+            if (string.IsNullOrEmpty(complaintletterDTO.RespondDateName))
+            {
+                complaintletterDTO.RespondDateName = "銆�銆�骞淬��鏈堛��鏃�";
+            }
 
+            //璐ㄧ枒鍑�
+            List<TChallengeletterDTO> challengeletterDTOs = _cooperOrderService.GetListChallengeletter(complaintletterDTO.TsrId);
+            TChallengeletterDTO challengeletterDTO = new TChallengeletterDTO();
+            if (challengeletterDTOs != null && challengeletterDTOs.Count > 0)
+            {
+                challengeletterDTO = challengeletterDTOs[0];
 
+                List<TChallengeItemDTO> challengeItemDTOs = _cooperOrderService.GetListChallengeItem(challengeletterDTO.Id);
+                complaintletterDTO.SqdbId = "";
+                if (challengeItemDTOs.Count > 0)
+                {
+                   
+                    foreach (var challengeItemDTO in challengeItemDTOs)
+                    {
+                        
+                        complaintletterDTO.SqdbId += challengeItemDTO.QuestionName+";";
+                    }
+                }
+                
 
-
+                
+            }
+             
 
 
 

--
Gitblit v1.9.1