username@email.com
2021-12-02 91bad66d03c07b6cb2a3eb09bdd98faab4b8caa3
zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs
@@ -423,15 +423,26 @@
                if (challengeletterDTOs!=null&& challengeletterDTOs.Count > 0)
                {
                    challengeletterDTO = challengeletterDTOs[0];
                    if (challengeletterDTO.DocumentsDate.HasValue)
                    {
                        challengeletterDTO.DocumentsDateName = challengeletterDTO.DocumentsDate.Value.ToString("yyyy-MM-dd");
                    }
                    List<TChallengeItemDTO> challengeItemDTOs = _cooperOrderService.GetListChallengeItem(challengeletterDTO.Id);
                    if(challengeItemDTOs.Count>0)
                        challengeletterDTO.challengeItemDTOs = challengeItemDTOs;
                    else
                        challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() };
                    List<TComplaintShouquandaibiaoDTO> complaintShouquandaibiaoDTOs = _cooperOrderService.GetListComplaintShouquandaibiao(challengeletterDTO.Id);
                    if (complaintShouquandaibiaoDTOs.Count > 0)
                        challengeletterDTO.complaintShouquandaibiaoDTOs = complaintShouquandaibiaoDTOs;
                    else
                        challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
                }
                else
                {
                    challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() };
                    challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
                }
                ViewBag.challengeletterDTO = challengeletterDTO;
                //投诉书
@@ -440,6 +451,17 @@
                if (complaintletterDTOs != null && complaintletterDTOs.Count > 0)
                {
                    complaintletterDTO = complaintletterDTOs[0];
                    if (complaintletterDTO.NoticeDate.HasValue)
                    {
                        complaintletterDTO.NoticeDateName = complaintletterDTO.NoticeDate.Value.ToString("yyyy-MM-dd");
                    }
                    if (complaintletterDTO.ResultnoticeDate.HasValue)
                    {
                        complaintletterDTO.ResultnoticeDateName = complaintletterDTO.ResultnoticeDate.Value.ToString("yyyy-MM-dd");
                    }
                    List<TComplaintItemDTO> complaintItemDTOs = _cooperOrderService.GetListComplaintItem(complaintletterDTO.Id);
                    if (complaintItemDTOs.Count > 0)
                        complaintletterDTO.complaintItemDTOs = complaintItemDTOs;
@@ -452,11 +474,26 @@
                    else
                        complaintletterDTO.complaintRespondentDTOs = new List<TComplaintRespondentDTO>() { new TComplaintRespondentDTO() };
                    List<TComplaintShouquandaibiaoDTO> complaintShouquandaibiaoDTOs = _cooperOrderService.GetListComplaintShouquandaibiao(complaintletterDTO.Id);
                    if (complaintShouquandaibiaoDTOs.Count > 0)
                        complaintletterDTO.complaintShouquandaibiaoDTOs = complaintShouquandaibiaoDTOs;
                    else
                        complaintletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
                    List<TComplaintGongyingshangDTO> complaintGongyingshangDTOs = _cooperOrderService.GetListComplaintGongyingshang(complaintletterDTO.Id);
                    if (complaintGongyingshangDTOs.Count > 0)
                        complaintletterDTO.complaintGongyingshangDTOs = complaintGongyingshangDTOs;
                    else
                        complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() { new TComplaintGongyingshangDTO() };
                }
                else
                {
                    complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() };
                    complaintletterDTO.complaintRespondentDTOs = new List<TComplaintRespondentDTO>() { new TComplaintRespondentDTO() };
                    complaintletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
                    complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() { new TComplaintGongyingshangDTO() };
                }
                ViewBag.complaintletterDTO = complaintletterDTO;
            }
@@ -470,11 +507,14 @@
                //质疑函
                TChallengeletterDTO challengeletterDTO = new TChallengeletterDTO();
                challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() };
                challengeletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
                ViewBag.challengeletterDTO = challengeletterDTO;
                //投诉书
                TComplaintletterDTO complaintletterDTO = new TComplaintletterDTO();
                complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() };
                complaintletterDTO.complaintRespondentDTOs = new List<TComplaintRespondentDTO>() { new TComplaintRespondentDTO()};
                complaintletterDTO.complaintShouquandaibiaoDTOs = new List<TComplaintShouquandaibiaoDTO>() { new TComplaintShouquandaibiaoDTO() };
                complaintletterDTO.complaintGongyingshangDTOs = new List<TComplaintGongyingshangDTO>() { new TComplaintGongyingshangDTO() };
                ViewBag.complaintletterDTO = complaintletterDTO;
            }
@@ -486,6 +526,8 @@
            ViewBag.OrderType = _liaotianService.GetSYScode("CooperVisit", "jtype");
            ViewBag.shifou = _liaotianService.GetSYScode("system", "shifou");
            ViewBag.customer = _cooperatecustomCustomerService.GetList();
@@ -527,8 +569,7 @@
        public async Task<IActionResult> SaveAsync(CooperOrderDTO data)
        {
            ResultEntity resultEntity = new ResultEntity();
            //using (TransactionScope scope = new TransactionScope())
            //{
                var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
                ViewData["curentuser"] = curentuser;
                data.RecStatus = "A";
@@ -603,47 +644,226 @@
                    
                }
            var youHuiDTOs = _askService.GetAskYouHuiList(data.Khdw, data.OrderType).FirstOrDefault();
            if (youHuiDTOs != null)
            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required,
                new TransactionOptions
                {
                    IsolationLevel = IsolationLevel.ReadCommitted,
                    Timeout = TransactionManager.MaximumTimeout
                }
                ))
            {
                data.Youhuier = youHuiDTOs.Id;
                if(youHuiDTOs.Youhuistandard == "01")
                {
                    data.Youhui = youHuiDTOs.YouHui.Value;
                    if(data.Money.Value < data.Youhui.Value)
                    {
                        data.Money = 0;
                    }
                    else
                    {
                        data.Money = data.Money.Value - data.Youhui.Value;
                    }
                }
                else if (youHuiDTOs.Youhuistandard == "02")
                {
                    if (youHuiDTOs.YouHui.Value >= 100)
                    {
                        data.Youhui = data.Money.Value;
                        data.Money = 0;
                    }
                    else
                    {
                        data.Youhui =Math.Round(data.Money.Value * youHuiDTOs.YouHui.Value * new decimal(0.01),2);
                        data.Money = data.Money.Value - data.Youhui.Value;
                    }
                }
            }
            data.ShouliStatus = "1";
            data.Modifier = curentuser.Id;
            data.Modifytime = DateTime.Now;
            resultEntity = _cooperOrderService.save(data);
            //    scope.Complete();
            //}
                var youHuiDTOs = _askService.GetAskYouHuiList(data.Khdw, data.OrderType).FirstOrDefault();
                if (youHuiDTOs != null)
                {
                    data.Youhuier = youHuiDTOs.Id;
                    if (youHuiDTOs.Youhuistandard == "01")
                    {
                        data.Youhui = youHuiDTOs.YouHui.Value;
                        if (data.Money.Value < data.Youhui.Value)
                        {
                            data.Money = 0;
                        }
                        else
                        {
                            data.Money = data.Money.Value - data.Youhui.Value;
                        }
                    }
                    else if (youHuiDTOs.Youhuistandard == "02")
                    {
                        if (youHuiDTOs.YouHui.Value >= 100)
                        {
                            data.Youhui = data.Money.Value;
                            data.Money = 0;
                        }
                        else
                        {
                            data.Youhui = Math.Round(data.Money.Value * youHuiDTOs.YouHui.Value * new decimal(0.01), 2);
                            data.Money = data.Money.Value - data.Youhui.Value;
                        }
                    }
                }
                data.ShouliStatus = "1";
                data.Modifier = curentuser.Id;
                data.Modifytime = DateTime.Now;
                resultEntity = _cooperOrderService.save(data);
                if (data.OrderType1 == "代拟投诉书")
                {
                    //查询主表
                    var complaintletterDTO = _cooperOrderService.GetListComplaintletter(data.Id).FirstOrDefault();
                    if (complaintletterDTO != null)
                    {
                        complaintletterDTO.TsrName = data.TsrName;
                        complaintletterDTO.TsrAddress = data.TsrAddress;
                        complaintletterDTO.TsrPostcode = data.TsrPostcode;
                        complaintletterDTO.TsrCorporation = data.TsrCorporation;
                        complaintletterDTO.TsrPhone = data.TsrPhone;
                        complaintletterDTO.XmName = data.tousuXmName;
                        complaintletterDTO.XmCode = data.tousuXmCode;
                        complaintletterDTO.XmPackage = data.tousuXmPackage;
                        complaintletterDTO.PurchaserName = data.tousuPurchaserName;
                        complaintletterDTO.Agency = data.tousuAgency;
                        complaintletterDTO.IsNotice = data.tousuIsNotice;
                        complaintletterDTO.NoticeDate = data.tousuNoticeDate;
                        complaintletterDTO.IsResultnotice = data.tousuIsResultnotice;
                        complaintletterDTO.ResultnoticeDate = data.tousuResultnoticeDate;
                        complaintletterDTO.Modifier = curentuser.Id;
                        complaintletterDTO.Modifytime = DateTime.Now;
                        complaintletterDTO.Status = 1;
                        resultEntity = _cooperOrderService.saveComplaintletter(complaintletterDTO);
                    }
                    else
                    {
                        complaintletterDTO = new TComplaintletterDTO();
                        complaintletterDTO.OrderId = data.Id;
                        complaintletterDTO.TsrName = data.TsrName;
                        complaintletterDTO.TsrAddress = data.TsrAddress;
                        complaintletterDTO.TsrPostcode = data.TsrPostcode;
                        complaintletterDTO.TsrCorporation = data.TsrCorporation;
                        complaintletterDTO.TsrPhone = data.TsrPhone;
                        complaintletterDTO.XmName = data.tousuXmName;
                        complaintletterDTO.XmCode = data.tousuXmCode;
                        complaintletterDTO.XmPackage = data.tousuXmPackage;
                        complaintletterDTO.PurchaserName = data.tousuPurchaserName;
                        complaintletterDTO.Agency = data.tousuAgency;
                        complaintletterDTO.IsNotice = data.tousuIsNotice;
                        complaintletterDTO.NoticeDate = data.tousuNoticeDate;
                        complaintletterDTO.IsResultnotice = data.tousuIsResultnotice;
                        complaintletterDTO.ResultnoticeDate = data.tousuResultnoticeDate;
                        complaintletterDTO.Modifier = curentuser.Id;
                        complaintletterDTO.Modifytime = DateTime.Now;
                        complaintletterDTO.Creater = curentuser.Id;
                        complaintletterDTO.Createtime = complaintletterDTO.Modifytime;
                        complaintletterDTO.Status = 1;
                        resultEntity = _cooperOrderService.saveComplaintletter(complaintletterDTO);
                    }
                    resultEntity = _cooperOrderService.deleteComplaintShouquandaibiao(complaintletterDTO.Id);
                    if (data.tousuShouquandaibiao != null && data.tousuShouquandaibiao.Length > 0)
                    {
                        for (int i = 0; i < data.tousuShouquandaibiao.Length; i++)
                        {
                            var complaintShouquandaibiaoDTO = new TComplaintShouquandaibiaoDTO();
                            complaintShouquandaibiaoDTO.ComplaintId = complaintletterDTO.Id;
                            complaintShouquandaibiaoDTO.Shouquandaibiao = data.tousuShouquandaibiao[i];
                            complaintShouquandaibiaoDTO.Lianxidianhua = data.tousuLianxidianhua[i];
                            complaintShouquandaibiaoDTO.Dizhi = data.tousuDizhi[i];
                            complaintShouquandaibiaoDTO.Youbian = data.tousuYoubian[i];
                            complaintShouquandaibiaoDTO.Sort = i;
                            resultEntity = _cooperOrderService.saveComplaintShouquandaibiao(complaintShouquandaibiaoDTO);
                        }
                    }
                    resultEntity = _cooperOrderService.deleteComplaintRespondent(complaintletterDTO.Id);
                    if (data.tousuRespondent != null && data.tousuRespondent.Length > 0)
                    {
                        for (int i = 0; i < data.tousuRespondent.Length; i++)
                        {
                            var complaintRespondentDTO = new TComplaintRespondentDTO();
                            complaintRespondentDTO.ComplaintId = complaintletterDTO.Id;
                            complaintRespondentDTO.Respondent = data.tousuRespondent[i];
                            complaintRespondentDTO.Address = data.tousuAddress[i];
                            complaintRespondentDTO.Postcode = data.tousuPostcode[i];
                            complaintRespondentDTO.Contacts = data.tousuContacts[i];
                            complaintRespondentDTO.Phone = data.tousuPhone[i];
                            complaintRespondentDTO.Sort = i;
                            resultEntity = _cooperOrderService.saveComplaintRespondent(complaintRespondentDTO);
                        }
                    }
                    resultEntity = _cooperOrderService.deleteComplaintGongyingshang(complaintletterDTO.Id);
                    if (data.Gongytingshang != null && data.Gongytingshang.Length > 0)
                    {
                        for (int i = 0; i < data.Gongytingshang.Length; i++)
                        {
                            var complaintGongyingshangDTO = new TComplaintGongyingshangDTO();
                            complaintGongyingshangDTO.ComplaintId = complaintletterDTO.Id;
                            complaintGongyingshangDTO.Gongytingshang = data.Gongytingshang[i];
                            complaintGongyingshangDTO.Youbian = data.gongyingshangYoubian[i];
                            complaintGongyingshangDTO.Lianxiren = data.gongyingshangLianxiren[i];
                            complaintGongyingshangDTO.Lianxidianhua = data.gongyingshangLianxidianhua[i];
                            complaintGongyingshangDTO.Dizhi = data.gongyingshangDizhi[i];
                            complaintGongyingshangDTO.Sort = i;
                            resultEntity = _cooperOrderService.saveComplaintGongyingshang(complaintGongyingshangDTO);
                        }
                    }
                }
                else if (data.OrderType1 == "代拟质疑函")
                {
                    //查询主表
                    var challengeletterDTO = _cooperOrderService.GetListChallengeletter(data.Id).FirstOrDefault();
                    if (challengeletterDTO != null)
                    {
                        challengeletterDTO.GysName = data.GysName;
                        challengeletterDTO.GysAddress = data.GysAddress;
                        challengeletterDTO.GysPostcode = data.GysPostcode;
                        challengeletterDTO.GysContacts = data.GysContacts;
                        challengeletterDTO.GysPhone = data.GysPhone;
                        challengeletterDTO.XmName = data.zhiyiXmName;
                        challengeletterDTO.XmCode = data.zhiyiXmCode;
                        challengeletterDTO.XmPackage = data.zhiyiXmPackage;
                        challengeletterDTO.PurchaserName = data.zhiyiPurchaserName;
                        challengeletterDTO.DocumentsDate = data.zhiyiDocumentsDate;
                        challengeletterDTO.Modifier = curentuser.Id;
                        challengeletterDTO.Modifytime = DateTime.Now;
                        challengeletterDTO.Status = 1;
                        resultEntity = _cooperOrderService.saveChallengeletter(challengeletterDTO);
                    }
                    else
                    {
                        challengeletterDTO = new TChallengeletterDTO();
                        challengeletterDTO.OrderId = data.Id;
                        challengeletterDTO.GysName = data.GysName;
                        challengeletterDTO.GysAddress = data.GysAddress;
                        challengeletterDTO.GysPostcode = data.GysPostcode;
                        challengeletterDTO.GysContacts = data.GysContacts;
                        challengeletterDTO.GysPhone = data.GysPhone;
                        challengeletterDTO.XmName = data.zhiyiXmName;
                        challengeletterDTO.XmCode = data.zhiyiXmCode;
                        challengeletterDTO.XmPackage = data.zhiyiXmPackage;
                        challengeletterDTO.PurchaserName = data.zhiyiPurchaserName;
                        challengeletterDTO.DocumentsDate = data.zhiyiDocumentsDate;
                        challengeletterDTO.Modifier = curentuser.Id;
                        challengeletterDTO.Modifytime = DateTime.Now;
                        challengeletterDTO.Creater = curentuser.Id;
                        challengeletterDTO.Createtime = challengeletterDTO.Modifytime;
                        challengeletterDTO.Status = 1;
                        resultEntity = _cooperOrderService.saveChallengeletter(challengeletterDTO);
                    }
                    resultEntity = _cooperOrderService.deleteComplaintShouquandaibiao(challengeletterDTO.Id);
                    if (data.zhiyiShouquandaibiao != null && data.zhiyiShouquandaibiao.Length > 0)
                    {
                        for (int i = 0; i < data.zhiyiShouquandaibiao.Length; i++)
                        {
                            var complaintShouquandaibiaoDTO = new TComplaintShouquandaibiaoDTO();
                            complaintShouquandaibiaoDTO.ComplaintId = challengeletterDTO.Id;
                            complaintShouquandaibiaoDTO.Shouquandaibiao = data.zhiyiShouquandaibiao[i];
                            complaintShouquandaibiaoDTO.Lianxidianhua = data.zhiyiLianxidianhua[i];
                            complaintShouquandaibiaoDTO.Dizhi = data.zhiyiDizhi[i];
                            complaintShouquandaibiaoDTO.Youbian = data.zhiyiYoubian[i];
                            complaintShouquandaibiaoDTO.Sort = i;
                            resultEntity = _cooperOrderService.saveComplaintShouquandaibiao(complaintShouquandaibiaoDTO);
                        }
                    }
                }
                scope.Complete();
            }
            return new JsonResult(resultEntity);