username@email.com
2022-06-15 0e6d0e8975e92a6395d2d9f692edd5a7d0984c5a
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 == "代拟投诉书" || data.OrderType1 == "代拟质疑函")))
                    {
                        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 == "代拟投诉书" || data.OrderType1 == "代拟质疑函"))
                            {
                                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 == "代拟投诉书" || data.OrderType1 == "代拟质疑函")))
                        {
                            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 == "代拟投诉书" || data.OrderType1 == "代拟质疑函")))
                {
                    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 == "代拟投诉书" || data.OrderType1 == "代拟质疑函"))
                        {
                            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 == "代拟质疑函")
@@ -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年MM月dd日");
                }
                if (complaintletterDTO.RespondDate.HasValue)
                {
                    complaintletterDTO.RespondDateName = complaintletterDTO.RespondDate.Value.ToString("yyyy-MM-dd");
                    complaintletterDTO.RespondDateName = complaintletterDTO.RespondDate.Value.ToString("yyyy年MM月dd日");
                }
                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+";";
                    }
                }
            }