From 8878b4d2c65329d454688d306e9d692c760bffe5 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期二, 30 十一月 2021 14:32:39 +0800 Subject: [PATCH] 提交 --- zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs | 368 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 327 insertions(+), 41 deletions(-) diff --git a/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs b/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs index 3c67038..9465279 100644 --- a/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs +++ b/zhengcaioa/zhengcaioa/Controllers/BusinessOrder/CooperOrderController.cs @@ -19,6 +19,9 @@ using Services; using System.Transactions; using System.IdentityModel.Tokens.Jwt; +using Microsoft.Extensions.Configuration; +using Newtonsoft.Json.Linq; +using System.Net.Http.Headers; namespace zhengcaioa.Controllers.BusinessOrder { @@ -35,11 +38,23 @@ private readonly IFiBookService _fiBookService; private readonly IFiServiceService _fiServiceService; private readonly IFiMemberService _fiMemberService; + private readonly IConfiguration _configuration; + private readonly IHttpClientFactory _clientFactory; + private readonly IAskService _askService; + private readonly IAdmGoodsRecordService _admGoodsRecordService; + + private readonly IAdmGoodsManageService _admGoodsManageService; public CooperOrderController(ILogger<CooperOrderController> logger, ILiaotianService liaotianService, IUserService userService, ICooperOrderService cooperOrderService , ICooperatecustomCustomerService cooperatecustomCustomerService, IProjectService projectService, IPltPageService pltPageService, IFiBookService fiBookService - , IFiServiceService fiServiceService, IFiMemberService fiMemberService) + , IFiServiceService fiServiceService, IFiMemberService fiMemberService + , IConfiguration configuration + , IHttpClientFactory clientFactory + , IAskService askService + , IAdmGoodsRecordService admGoodsRecordService + , IAdmGoodsManageService admGoodsManageService + ) { _logger = logger; _liaotianService = liaotianService; @@ -51,6 +66,11 @@ _fiBookService = fiBookService; _fiServiceService = fiServiceService; _fiMemberService = fiMemberService; + _configuration = configuration; + _clientFactory = clientFactory; + _askService = askService; + _admGoodsRecordService = admGoodsRecordService; + _admGoodsManageService = admGoodsManageService; } [CheckLogin] @@ -396,14 +416,71 @@ { dto = _cooperOrderService.Get(id); ViewBag.ShouliStatus = ShouliStatus; + //ViewBag.YouHuiList = _askService.GetAskYouHuiList(dto.Khdw, dto.OrderType); + //璐ㄧ枒鍑� + List<TChallengeletterDTO> challengeletterDTOs = _cooperOrderService.GetListChallengeletter(id); + TChallengeletterDTO challengeletterDTO = new TChallengeletterDTO(); + if (challengeletterDTOs!=null&& challengeletterDTOs.Count > 0) + { + challengeletterDTO = challengeletterDTOs[0]; + List<TChallengeItemDTO> challengeItemDTOs = _cooperOrderService.GetListChallengeItem(challengeletterDTO.Id); + if(challengeItemDTOs.Count>0) + challengeletterDTO.challengeItemDTOs = challengeItemDTOs; + else + challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() }; + } + else + { + challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() }; + } + ViewBag.challengeletterDTO = challengeletterDTO; + //鎶曡瘔涔� + List<TComplaintletterDTO> complaintletterDTOs = _cooperOrderService.GetListComplaintletter(id); + TComplaintletterDTO complaintletterDTO = new TComplaintletterDTO(); + if (complaintletterDTOs != null && complaintletterDTOs.Count > 0) + { + complaintletterDTO = complaintletterDTOs[0]; + List<TComplaintItemDTO> complaintItemDTOs = _cooperOrderService.GetListComplaintItem(complaintletterDTO.Id); + if (complaintItemDTOs.Count > 0) + complaintletterDTO.complaintItemDTOs = complaintItemDTOs; + else + complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() }; + + List<TComplaintRespondentDTO> complaintRespondentDTOs = _cooperOrderService.GetListComplaintRespondent(complaintletterDTO.Id); + if (complaintRespondentDTOs.Count > 0) + complaintletterDTO.complaintRespondentDTOs = complaintRespondentDTOs; + else + complaintletterDTO.complaintRespondentDTOs = new List<TComplaintRespondentDTO>() { new TComplaintRespondentDTO() }; + + } + else + { + complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() }; + complaintletterDTO.complaintRespondentDTOs = new List<TComplaintRespondentDTO>() { new TComplaintRespondentDTO() }; + } + ViewBag.complaintletterDTO = complaintletterDTO; } else { dto.XdTime = DateTime.Now; dto.OrderNum = 1; ViewBag.ShouliStatus = "1"; - } + dto.OrderNo = _cooperOrderService.GetOrderNo(); + //ViewBag.YouHuiList = new List<AdmAskYouHuiDTO>(); + //璐ㄧ枒鍑� + TChallengeletterDTO challengeletterDTO = new TChallengeletterDTO(); + challengeletterDTO.challengeItemDTOs = new List<TChallengeItemDTO>() { new TChallengeItemDTO() }; + ViewBag.challengeletterDTO = challengeletterDTO; + //鎶曡瘔涔� + TComplaintletterDTO complaintletterDTO = new TComplaintletterDTO(); + complaintletterDTO.complaintItemDTOs = new List<TComplaintItemDTO>() { new TComplaintItemDTO() }; + complaintletterDTO.complaintRespondentDTOs = new List<TComplaintRespondentDTO>() { new TComplaintRespondentDTO()}; + ViewBag.complaintletterDTO = complaintletterDTO; + } + ViewBag.request_info = _liaotianService.GetSYScode("t_challengeletter", "request_info");//璐ㄧ枒璇锋眰 + ViewBag.question = _liaotianService.GetSYScode("t_challenge_items", "question"); // 璐ㄧ枒浜嬮」 + ViewBag.law = _liaotianService.GetSYScode("t_complaint_items", "law");//娉曞緥渚濇嵁 @@ -447,11 +524,11 @@ /// [CheckLogin] [HttpPost] - public IActionResult Save(CooperOrderDTO data) + public async Task<IActionResult> SaveAsync(CooperOrderDTO data) { ResultEntity resultEntity = new ResultEntity(); - using (TransactionScope scope = new TransactionScope()) - { + //using (TransactionScope scope = new TransactionScope()) + //{ var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; data.RecStatus = "A"; @@ -460,16 +537,114 @@ 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); + } + + 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); + } + } + } + + + + + + } + + 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; + } } - data.ShouliStatus = "1"; - data.Modifier = curentuser.Id; - data.Modifytime = DateTime.Now; - - resultEntity = _cooperOrderService.save(data); - scope.Complete(); + 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(); + //} + return new JsonResult(resultEntity); } @@ -504,19 +679,82 @@ ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = false; - CooperOrderDTO dto = _cooperOrderService.Get(id); - if(dto.ShouliStatus != "1") + using (TransactionScope scope = new TransactionScope()) { - resultEntity.Result = false; - resultEntity.Message = "鍙湁宸蹭笅鍗曠姸鎬佺殑璁㈠崟鎵嶈兘鍙楃悊"; - return new JsonResult(resultEntity); + + CooperOrderDTO dto = _cooperOrderService.Get(id); + if (dto.ShouliStatus != "1") + { + resultEntity.Result = false; + resultEntity.Message = "鍙湁宸蹭笅鍗曠姸鎬佺殑璁㈠崟鎵嶈兘鍙楃悊"; + return new JsonResult(resultEntity); + } + + + if (dto.OrderType == "01") + { + var shi = _fiBookService.Get(dto.OrderType1); + if (string.IsNullOrEmpty(shi.Id)) + { + resultEntity.Result = false; + resultEntity.Message = "鏈壘鍒拌鍟嗗搧"; + return new JsonResult(resultEntity); + } + var admGoodsManageDTOs = _admGoodsManageService.GetList().Where(x => x.ISBN == shi.BookNo).FirstOrDefault(); + + if (admGoodsManageDTOs == null) + { + + + resultEntity.Result = false; + resultEntity.Message = "娌℃湁鎵惧埌璇ュ晢鍝�"; + return new JsonResult(resultEntity); + + } + else if (!admGoodsManageDTOs.GoodsLeft.HasValue) + { + resultEntity.Result = false; + resultEntity.Message = "璇ュ晢鍝佹病鏈夊簱瀛�"; + return new JsonResult(resultEntity); + + } + else if (admGoodsManageDTOs.GoodsLeft.Value < dto.OrderNum) + { + resultEntity.Result = false; + resultEntity.Message = "璇ュ晢鍝佸簱瀛樹笉瓒�"; + return new JsonResult(resultEntity); + + } + var left = admGoodsManageDTOs.GoodsLeft - dto.OrderNum; + admGoodsManageDTOs.GoodsLeft = left; + + resultEntity = _admGoodsManageService.save(admGoodsManageDTOs); + + AdmGoodsRecordDTO dto1 = new AdmGoodsRecordDTO(); + dto1.GoodsId = admGoodsManageDTOs.Id; + dto1.GoodsNum = dto.OrderNum; + dto1.GoodsLeft = admGoodsManageDTOs.GoodsLeft; + dto1.RecordTypeId = "02"; + dto1.RecStatus = "A"; + dto1.Creater = curentuser.Id; + dto1.Createtime = DateTime.Now; + dto1.Modifier = curentuser.Id; + dto1.Modifytime = DateTime.Now; + dto1.OperationalMatters = "璁㈠崟锛�" + dto.OrderNo + " 璐拱涔︾睄"; + resultEntity = _admGoodsRecordService.save(dto1); + + } + + + + dto.Shoulier = curentuser.Id; + dto.Shoulitime = DateTime.Now; + dto.ShouliStatus = "2"; + + resultEntity = _cooperOrderService.shouli(dto); + + scope.Complete(); } - - dto.Shoulier = curentuser.Id; - dto.Shoulitime = DateTime.Now; - dto.ShouliStatus = "2"; - - resultEntity = _cooperOrderService.shouli(dto); return new JsonResult(resultEntity); } @@ -564,24 +802,69 @@ ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = false; - - CooperOrderDTO dto = _cooperOrderService.Get(Chedanid); - if (dto.ShouliStatus != "2") + using (TransactionScope scope = new TransactionScope()) { - resultEntity.Result = false; - resultEntity.Message = "鍙湁鍙楃悊鐘舵�佺殑璁㈠崟鎵嶈兘鎾ゅ崟"; - return new JsonResult(resultEntity); + + CooperOrderDTO dto = _cooperOrderService.Get(Chedanid); + if (dto.ShouliStatus != "2") + { + resultEntity.Result = false; + resultEntity.Message = "鍙湁鍙楃悊鐘舵�佺殑璁㈠崟鎵嶈兘鎾ゅ崟"; + return new JsonResult(resultEntity); + } + + + if (dto.OrderType == "01") + { + var shi = _fiBookService.Get(dto.OrderType1); + if (string.IsNullOrEmpty(shi.Id)) + { + resultEntity.Result = false; + resultEntity.Message = "鏈壘鍒拌鍟嗗搧"; + return new JsonResult(resultEntity); + } + var admGoodsManageDTOs = _admGoodsManageService.GetList().Where(x => x.ISBN == shi.BookNo).FirstOrDefault(); + + if (admGoodsManageDTOs == null) + { + + + resultEntity.Result = false; + resultEntity.Message = "娌℃湁鎵惧埌璇ュ晢鍝�"; + return new JsonResult(resultEntity); + + } + + var left = admGoodsManageDTOs.GoodsLeft + dto.OrderNum; + admGoodsManageDTOs.GoodsLeft = left; + + resultEntity = _admGoodsManageService.save(admGoodsManageDTOs); + + AdmGoodsRecordDTO dto1 = new AdmGoodsRecordDTO(); + dto1.GoodsId = admGoodsManageDTOs.Id; + dto1.GoodsNum = dto.OrderNum; + dto1.GoodsLeft = admGoodsManageDTOs.GoodsLeft; + dto1.RecordTypeId = "01"; + dto1.RecStatus = "A"; + dto1.Creater = curentuser.Id; + dto1.Createtime = DateTime.Now; + dto1.Modifier = curentuser.Id; + dto1.Modifytime = DateTime.Now; + dto1.OperationalMatters = "璁㈠崟锛�" + dto.OrderNo + " 鎾ゅ崟"; + resultEntity = _admGoodsRecordService.save(dto1); + + } + + + dto.Chedaner = curentuser.Id; + dto.Chedantime = DateTime.Now; + dto.ChedanStatus = "A"; + dto.Chedan = Price; + dto.ShouliStatus = "0"; + + resultEntity = _cooperOrderService.chedan(dto); + scope.Complete(); } - - - dto.Chedaner = curentuser.Id; - dto.Chedantime = DateTime.Now; - dto.ChedanStatus = "A"; - dto.Chedan = Price; - dto.ShouliStatus = "0"; - - resultEntity = _cooperOrderService.chedan(dto); - return new JsonResult(resultEntity); } [CheckLogin] @@ -775,7 +1058,7 @@ result = JsonConvert.SerializeObject(shi); } - if (OrderType == "08" || OrderType == "10") + if (OrderType == "08" || OrderType == "10" || OrderType == "11") { result = "[]"; @@ -834,7 +1117,10 @@ } - + if (result == "") + { + result = "[]"; + } return result; } -- Gitblit v1.9.1