using System; using System.Collections.Generic; using System.Linq; using System.Text; using AutoMapper; using AngleSharp.Html.Parser; using DTO; using IServices; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Bot.Builder.Integration.AspNet.Core; using Microsoft.Extensions.Logging; using Newtonsoft.Json; using System.Net.Http; using System.Threading.Tasks; using zhengcaioa.Models; using zhengcaioa.IService; using CommonToolsCore; 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 { public class CooperOrderController : Controller { private readonly ILogger _logger; private readonly ILiaotianService _liaotianService; private readonly IUserService _userService; private readonly ICooperOrderService _cooperOrderService; private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService; private readonly IProjectService _projectService; private readonly IPltPageService _pltPageService; 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 logger, ILiaotianService liaotianService, IUserService userService, ICooperOrderService cooperOrderService , ICooperatecustomCustomerService cooperatecustomCustomerService, IProjectService projectService, IPltPageService pltPageService, IFiBookService fiBookService , IFiServiceService fiServiceService, IFiMemberService fiMemberService , IConfiguration configuration , IHttpClientFactory clientFactory , IAskService askService , IAdmGoodsRecordService admGoodsRecordService , IAdmGoodsManageService admGoodsManageService ) { _logger = logger; _liaotianService = liaotianService; _userService = userService; _cooperOrderService = cooperOrderService; _cooperatecustomCustomerService = cooperatecustomCustomerService; _projectService = projectService; _pltPageService = pltPageService; _fiBookService = fiBookService; _fiServiceService = fiServiceService; _fiMemberService = fiMemberService; _configuration = configuration; _clientFactory = clientFactory; _askService = askService; _admGoodsRecordService = admGoodsRecordService; _admGoodsManageService = admGoodsManageService; } [CheckLogin] public IActionResult Index() { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; List actionlist = new List(); ActionEntity actionEntity = new ActionEntity(); actionEntity.OpenType = 0; actionEntity.ActionUrl = ""; actionEntity.ActionFun = "Search"; actionEntity.PageIco = "fa fa-search"; actionEntity.ActionName = "查询"; actionlist.Add(actionEntity); ActionEntity actionEntity1 = new ActionEntity(); actionEntity1.OpenType = 0; actionEntity1.ActionUrl = ""; actionEntity1.ActionFun = "Add"; actionEntity1.PageIco = "fa fa-plus"; actionEntity1.ActionName = "新增"; actionlist.Add(actionEntity1); ActionEntity actionEntity3 = new ActionEntity(); actionEntity3.OpenType = 0; actionEntity3.ActionUrl = ""; actionEntity3.ActionFun = "Print"; actionEntity3.PageIco = "fa fa-print"; actionEntity3.ActionName = "打印"; actionlist.Add(actionEntity3); ViewData["ActionInfo"] = actionlist; List pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/CooperOrder/Index/"); ViewBag.pageEntities = pageEntities; ViewBag.OrderType = _liaotianService.GetSYScode("CooperVisit", "jtype").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.users = _userService.GetList().Where(x => x.IsYwjl == "A").Select(x => new { code = x.Id, label = x.UserName }).ToList(); ViewBag.Khlx = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.HuifangStatus = _liaotianService.GetSYScode("CooperOrder", "huifang_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.PingjiaStatus = _liaotianService.GetSYScode("CooperOrder", "pingjia_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.ShouliStatus = _liaotianService.GetSYScode("CooperOrder", "shouli_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); return View(); } [CheckLogin] public IActionResult GetList(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; //search.Creater = curentuser.Id; //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return new JsonResult(_cooperOrderService.SearchByPaging(search)); } [CheckLogin] public IActionResult ShouliList() { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; List actionlist = new List(); ActionEntity actionEntity = new ActionEntity(); actionEntity.OpenType = 0; actionEntity.ActionUrl = ""; actionEntity.ActionFun = "Search"; actionEntity.PageIco = "fa fa-search"; actionEntity.ActionName = "查询"; actionlist.Add(actionEntity); ViewData["ActionInfo"] = actionlist; ViewBag.OrderType = _liaotianService.GetSYScode("CooperVisit", "jtype").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.users = _userService.GetList().Where(x => x.IsYwjl == "A").Select(x => new { code = x.Id, label = x.UserName }).ToList(); ViewBag.Khlx = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.HuifangStatus = _liaotianService.GetSYScode("CooperOrder", "huifang_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.PingjiaStatus = _liaotianService.GetSYScode("CooperOrder", "pingjia_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); return View(); } [CheckLogin] public IActionResult GetListshouli(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; //search.ShouliStatus = "A"; //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return new JsonResult(_cooperOrderService.SearchByPaging(search)); } [CheckLogin] public IActionResult ChedanList() { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; List actionlist = new List(); ActionEntity actionEntity = new ActionEntity(); actionEntity.OpenType = 0; actionEntity.ActionUrl = ""; actionEntity.ActionFun = "Search"; actionEntity.PageIco = "fa fa-search"; actionEntity.ActionName = "查询"; actionlist.Add(actionEntity); ViewData["ActionInfo"] = actionlist; ViewBag.OrderType = _liaotianService.GetSYScode("CooperVisit", "jtype").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.users = _userService.GetList().Where(x => x.IsYwjl == "A").Select(x => new { code = x.Id, label = x.UserName }).ToList(); ViewBag.Khlx = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.HuifangStatus = _liaotianService.GetSYScode("CooperOrder", "huifang_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.PingjiaStatus = _liaotianService.GetSYScode("CooperOrder", "pingjia_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); return View(); } [CheckLogin] public IActionResult GetListchedan(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; //search.ShouliStatus = "A"; //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return new JsonResult(_cooperOrderService.SearchByPaging(search)); } [CheckLogin] public IActionResult WangongList() { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; List actionlist = new List(); ActionEntity actionEntity = new ActionEntity(); actionEntity.OpenType = 0; actionEntity.ActionUrl = ""; actionEntity.ActionFun = "Search"; actionEntity.PageIco = "fa fa-search"; actionEntity.ActionName = "查询"; actionlist.Add(actionEntity); ViewData["ActionInfo"] = actionlist; ViewBag.OrderType = _liaotianService.GetSYScode("CooperVisit", "jtype").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.users = _userService.GetList().Where(x => x.IsYwjl == "A").Select(x => new { code = x.Id, label = x.UserName }).ToList(); ViewBag.Khlx = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.HuifangStatus = _liaotianService.GetSYScode("CooperOrder", "huifang_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.PingjiaStatus = _liaotianService.GetSYScode("CooperOrder", "pingjia_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); return View(); } [CheckLogin] public IActionResult GetListwangong(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; search.ShouliStatus = "A"; search.ChedanStatus = "D"; //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return new JsonResult(_cooperOrderService.SearchByPaging(search)); } [CheckLogin] public IActionResult SonghuoList() { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; List actionlist = new List(); ActionEntity actionEntity = new ActionEntity(); actionEntity.OpenType = 0; actionEntity.ActionUrl = ""; actionEntity.ActionFun = "Search"; actionEntity.PageIco = "fa fa-search"; actionEntity.ActionName = "查询"; actionlist.Add(actionEntity); ViewData["ActionInfo"] = actionlist; ViewBag.OrderType = _liaotianService.GetSYScode("CooperVisit", "jtype").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.users = _userService.GetList().Where(x => x.IsYwjl == "A").Select(x => new { code = x.Id, label = x.UserName }).ToList(); ViewBag.Khlx = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.HuifangStatus = _liaotianService.GetSYScode("CooperOrder", "huifang_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.PingjiaStatus = _liaotianService.GetSYScode("CooperOrder", "pingjia_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); return View(); } [CheckLogin] public IActionResult GetListsonghuo(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; search.WangongStatus = "A"; search.ChedanStatus = "D"; //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return new JsonResult(_cooperOrderService.SearchByPaging(search)); } [CheckLogin] public IActionResult HuifangList() { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; List actionlist = new List(); ActionEntity actionEntity = new ActionEntity(); actionEntity.OpenType = 0; actionEntity.ActionUrl = ""; actionEntity.ActionFun = "Search"; actionEntity.PageIco = "fa fa-search"; actionEntity.ActionName = "查询"; actionlist.Add(actionEntity); ViewData["ActionInfo"] = actionlist; ViewBag.OrderType = _liaotianService.GetSYScode("CooperVisit", "jtype").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.users = _userService.GetList().Where(x => x.IsYwjl == "A").Select(x => new { code = x.Id, label = x.UserName }).ToList(); ViewBag.Khlx = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.HuifangStatus = _liaotianService.GetSYScode("CooperOrder", "huifang_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.PingjiaStatus = _liaotianService.GetSYScode("CooperOrder", "pingjia_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); return View(); } [CheckLogin] public IActionResult GetListHuifang(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; search.SonghuoStatus = "A"; search.ChedanStatus = "D"; //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return new JsonResult(_cooperOrderService.SearchByPaging(search)); } [CheckLogin] public IActionResult PingjiaList() { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; List actionlist = new List(); ActionEntity actionEntity = new ActionEntity(); actionEntity.OpenType = 0; actionEntity.ActionUrl = ""; actionEntity.ActionFun = "Search"; actionEntity.PageIco = "fa fa-search"; actionEntity.ActionName = "查询"; actionlist.Add(actionEntity); ViewData["ActionInfo"] = actionlist; ViewBag.OrderType = _liaotianService.GetSYScode("CooperVisit", "jtype").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.users = _userService.GetList().Where(x => x.IsYwjl == "A").Select(x => new { code = x.Id, label = x.UserName }).ToList(); ViewBag.Khlx = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.HuifangStatus = _liaotianService.GetSYScode("CooperOrder", "huifang_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.PingjiaStatus = _liaotianService.GetSYScode("CooperOrder", "pingjia_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); return View(); } [CheckLogin] public IActionResult GetListPingjia(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; search.HuifangStatussss = "A"; search.ChedanStatus = "D"; //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return new JsonResult(_cooperOrderService.SearchByPaging(search)); } public IActionResult YouhuiList() { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; List actionlist = new List(); ActionEntity actionEntity = new ActionEntity(); actionEntity.OpenType = 0; actionEntity.ActionUrl = ""; actionEntity.ActionFun = "Search"; actionEntity.PageIco = "fa fa-search"; actionEntity.ActionName = "查询"; actionlist.Add(actionEntity); ViewData["ActionInfo"] = actionlist; ViewBag.OrderType = _liaotianService.GetSYScode("CooperVisit", "jtype").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.users = _userService.GetList().Where(x => x.IsYwjl == "A").Select(x => new { code = x.Id, label = x.UserName }).ToList(); ViewBag.Khlx = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.HuifangStatus = _liaotianService.GetSYScode("CooperOrder", "huifang_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); ViewBag.PingjiaStatus = _liaotianService.GetSYScode("CooperOrder", "pingjia_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); return View(); } [CheckLogin] public IActionResult GetListYouhui(CooperOrderDTOSearch search) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; search.ShouliStatus = "A"; search.ChedanStatus = "D"; //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); return new JsonResult(_cooperOrderService.SearchByPaging(search)); } [CheckLogin] public IActionResult Edit(string id = null, string ShouliStatus = "1") { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; CooperOrderDTO dto = new CooperOrderDTO(); if (!String.IsNullOrEmpty(id)) { dto = _cooperOrderService.Get(id); ViewBag.ShouliStatus = ShouliStatus; //ViewBag.YouHuiList = _askService.GetAskYouHuiList(dto.Khdw, dto.OrderType); } else { dto.XdTime = DateTime.Now; dto.OrderNum = 1; ViewBag.ShouliStatus = "1"; //ViewBag.YouHuiList = new List(); } ViewBag.OrderType = _liaotianService.GetSYScode("CooperVisit", "jtype"); ViewBag.customer = _cooperatecustomCustomerService.GetList(); //ViewBag.project = _projectService.GetList(); ViewData.Model = dto; return View(); } /// /// 获取市 /// /// 省id /// /// [CheckLogin] public string getProject() { var shi = _projectService.GetList().Select(x => new { Id = x.Id, Name = x.Name }).ToList(); ; return JsonConvert.SerializeObject(shi); } /// /// 保存 /// /// 岗位实体类对象 /// /// [CheckLogin] [HttpPost] public async Task SaveAsync(CooperOrderDTO data) { ResultEntity resultEntity = new ResultEntity(); //using (TransactionScope scope = new TransactionScope()) //{ var curentuser = JsonConvert.DeserializeObject(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); } 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; } } 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); } /// /// 删除主信息 /// /// 实体 /// /// [CheckLogin] public IActionResult Nullify(string Id = "") { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; return new JsonResult(_cooperOrderService.ModifyStatus(Id, curentuser.Id)); } /// /// 受理 /// /// 岗位实体类对象 /// /// [CheckLogin] public IActionResult Shouli(string id) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = false; using (TransactionScope scope = new TransactionScope()) { 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(); } return new JsonResult(resultEntity); } /// /// 完工 /// /// 岗位实体类对象 /// /// [CheckLogin] public IActionResult Wangong(string id) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; CooperOrderDTO dto = _cooperOrderService.Get(id); //dto.Id = id; dto.Wangonger = curentuser.Id; dto.Wangongtime = DateTime.Now; dto.ShouliStatus = "4"; ResultEntity resultEntity = _cooperOrderService.save(dto); return new JsonResult(resultEntity); } [CheckLogin] public IActionResult Chedan(string id = null) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; ViewData["Chedanid"] = id; return View(); } [CheckLogin] public IActionResult chedantuihuan(decimal Price, string Chedanid) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = false; using (TransactionScope scope = new TransactionScope()) { 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(); } return new JsonResult(resultEntity); } [CheckLogin] public IActionResult Huifang(string id = null) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; ViewData["Huifangid"] = id; ViewData["PingjiaStatus"] = _liaotianService.GetSYScode("CooperOrder", "pingjia_status"); ViewData.Model = _cooperOrderService.Get(id); return View(); } [CheckLogin] public IActionResult Huifangtuihuan(CooperOrderDTO dto) { ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = true; var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; dto.Huifanger = curentuser.Id; dto.Huifangtime = DateTime.Now; dto.HuifangStatus = "A"; resultEntity = _cooperOrderService.huifang(dto); return new JsonResult(resultEntity); } /// /// 送货 /// /// 岗位实体类对象 /// /// [CheckLogin] public IActionResult Songhuo(string id) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; ViewData["Huifangid"] = id; var cooperOrderDTO = _cooperOrderService.Get(id); if (!cooperOrderDTO.SonghuoTime1.HasValue) { cooperOrderDTO.SonghuoTime1 = DateTime.Now; } ViewData.Model = cooperOrderDTO; return View(); } [CheckLogin] public IActionResult Songhuotuihuan(CooperOrderDTO dto) { ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = true; var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; var cooperOrderDTO = _cooperOrderService.Get(dto.Id); if (cooperOrderDTO.ShouliStatus != "2") { resultEntity.Result = false; resultEntity.Message = "只有受理状态的订单才能送货"; return new JsonResult(resultEntity); } dto.Songhuoer = curentuser.Id; dto.Songhuotime = DateTime.Now; dto.ShouliStatus = "5"; resultEntity = _cooperOrderService.Songhuo(dto); return new JsonResult(resultEntity); } [CheckLogin] public IActionResult Pingjia(string id = null) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; ViewData["Pingjiaid"] = id; ViewData["PingjiaStatus"] = _liaotianService.GetSYScode("CooperOrder", "pingjia_status"); return View(); } [CheckLogin] public IActionResult Pingjiatuihuan(string PingjiaStatus, string Pingjiaid) { ResultEntity resultEntity = new ResultEntity(); resultEntity.Result = true; var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; CooperOrderDTO dto = new CooperOrderDTO(); dto.Id = Pingjiaid; dto.Pingjiaer = curentuser.Id; dto.Pingjiatime = DateTime.Now; dto.PingjiaStatus = PingjiaStatus; resultEntity = _cooperOrderService.pingjia(dto); return new JsonResult(resultEntity); } [CheckLogin] public IActionResult Print(string id = null) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; CooperOrderDTO dto = new CooperOrderDTO(); if (!String.IsNullOrEmpty(id)) { dto = _cooperOrderService.Getprint(id); if (dto.OrderType == "01") { dto.OrderType1 = _fiBookService.Get(dto.OrderType1).BookName; } if (dto.OrderType == "05") { dto.OrderType1 = _fiMemberService.Get(dto.OrderType1).MemberType; } } else { dto.XdTime = DateTime.Now; } ViewData.Model = dto; return View(); } [CheckLogin] public IActionResult printList(CooperOrderDTOSearch search) { //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); search.rows = 1000; search.page = 1; ViewBag.ListCooperOrderDTO = _cooperOrderService.SearchByPaging(search).DataList as List; return View(); } /// /// 获取物品 /// /// 省id /// /// [CheckLogin] public string getOrderType(string OrderType) { string result = ""; if(OrderType == "01") { 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") { var shi = _fiServiceService.GetList().Where(x=>x.ServiceTypeTop == OrderType).Select(x => new { code = x.ServiceType, label = x.ServiceType }).Distinct().ToList(); result = JsonConvert.SerializeObject(shi); } if ( OrderType == "03" || OrderType == "07" ) { var shi = _fiServiceService.GetList().Where(x => x.ServiceTypeTop == OrderType).Select(x => new { code = x.ServiceTypeTwo, label = x.ServiceTypeTwo }).ToList(); result = JsonConvert.SerializeObject(shi); } if (OrderType == "05" ) { var shi = _fiMemberService.GetList().Select(x => new { code = x.Id, label = x.MemberType }).ToList(); result = JsonConvert.SerializeObject(shi); } if (OrderType == "08" || OrderType == "10" || OrderType == "11") { result = "[]"; } return result; } /// /// 获取物品 /// /// 省id /// /// [CheckLogin] public string getOrderType1(string OrderType,string OrderType1) { string result = ""; if (OrderType == "01") { var shi = _fiBookService.Get(OrderType1); result = JsonConvert.SerializeObject(shi); } if (OrderType == "03" || OrderType == "07") { var shi = _fiServiceService.GetList().Where(x => x.ServiceTypeTop == OrderType && x.ServiceTypeTwo == OrderType1).FirstOrDefault(); result = JsonConvert.SerializeObject(shi); } if (OrderType == "05") { var shi = _fiMemberService.Get(OrderType1); result = JsonConvert.SerializeObject(shi); } if ( OrderType == "04" || OrderType == "06" || OrderType == "09") { var shi = _fiServiceService.GetList().Where(x => x.ServiceTypeTop == OrderType && x.ServiceType == OrderType1).FirstOrDefault(); result = JsonConvert.SerializeObject(shi); } if (OrderType == "02" ) { if(OrderType1== "电话咨询" || OrderType1 == "当面咨询" || OrderType1 == "代拟质疑答复" || OrderType1 == "代拟投诉处理决定" || OrderType1 == "竞争对手和评审专家参加政府采购数据信息查询" || OrderType1 == "政采贷") { var shi = _fiServiceService.GetList().Where(x => x.ServiceTypeTop == OrderType && x.ServiceType == OrderType1).FirstOrDefault(); result = JsonConvert.SerializeObject(shi); } else { var shi = _fiServiceService.GetList().Where(x => x.ServiceTypeTop == OrderType && x.ServiceType == OrderType1).Select(x => new { code = x.ServiceTypeTwo, label = x.ServiceTypeTwo }).Distinct().ToList(); result = JsonConvert.SerializeObject(shi); } } if (result == "") { result = "[]"; } return result; } /// /// 获取物品 /// /// 省id /// /// [CheckLogin] public string getOrderType2(string OrderType, string OrderType1, string OrderType2) { string result = ""; var shi = _fiServiceService.GetList().Where(x => x.ServiceTypeTop == OrderType && x.ServiceType == OrderType1 && x.ServiceTypeTwo == OrderType2).FirstOrDefault(); result = JsonConvert.SerializeObject(shi); return result; } //提问 public IActionResult GetHuiYuanOrder([FromBody]CooperOrderDTOSearch search) { ReturnMsg> returnMsg = new ReturnMsg>(); returnMsg.code = 2; try { string userid = ""; var headers = Request.Headers; if (headers != null) { //string SecurityKey = _configuration.GetSection("SecurityKey").Value; var keyId = headers["Authorization"].FirstOrDefault(); if (string.IsNullOrEmpty("keyId")) { returnMsg.code = 2; returnMsg.error = "没有获取到token"; returnMsg.count = 0; return new JsonResult(returnMsg); } JwtSecurityToken jwt = null; var handler = new JwtSecurityTokenHandler(); var key1 = keyId.Replace("Bearer", "").Trim(); jwt = handler.ReadJwtToken(key1); System.Security.Claims.Claim sss = jwt.Claims.Where(x => x.Type == "id").FirstOrDefault(); userid = sss.Value; } //LZhuanjiahuidumDTOSearch searchEntity = new LZhuanjiahuidumDTOSearch(); //searchEntity.Userid = userid; ////searchEntity.HuidaStatus = "A"; //searchEntity.page = 1; //searchEntity.rows = 1000; search.HuiyuanId = userid; ResultDataEntity resultDataEntity = _cooperOrderService.SearchByPaging(search); List cooperOrderDTOs = resultDataEntity.DataList; List userOrders = new List(); //封装订单 foreach (var cooperOrderDTO in cooperOrderDTOs) { UserOrders userOrder = new UserOrders(); userOrder.order_goods = new List(); usercart_items usercart_Item = new usercart_items(); userOrder.order_type = "offline"; userOrder.order_no = cooperOrderDTO.OrderNo; userOrder.accept_name = cooperOrderDTO.Shr; userOrder.mobile = cooperOrderDTO.ShrTel; userOrder.address = cooperOrderDTO.ShrAddress; userOrder.order_amount = cooperOrderDTO.Money.HasValue ? cooperOrderDTO.Money.Value: 0; userOrder.statusChs = cooperOrderDTO.ShouliStatusName; userOrder.add_time = cooperOrderDTO.Createtime; usercart_Item.sell_price = cooperOrderDTO.Price.HasValue ? cooperOrderDTO.Price.Value : 0; usercart_Item.quantity = cooperOrderDTO.OrderNum.HasValue ? decimal.ToInt32(cooperOrderDTO.OrderNum.Value) : 0; usercart_Item.name = cooperOrderDTO.OrderTypeName + "-" + cooperOrderDTO.OrderType1Name + (string.IsNullOrEmpty(cooperOrderDTO.OrderType2)?"": "-"+cooperOrderDTO.OrderType2); userOrder.order_goods.Add(usercart_Item); userOrders.Add(userOrder); } returnMsg.code = 1; returnMsg.returnObj = userOrders; returnMsg.count = resultDataEntity.DataList.Count; } catch (Exception ex) { returnMsg.code = 2; returnMsg.error = "没有获取到token"; returnMsg.count = 0; } return new JsonResult(returnMsg); } } }