From cc170291673472d3cda8d7ea77f6bd3a3b5dbb83 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期一, 09 九月 2024 14:06:09 +0800 Subject: [PATCH] 增加了一些统计修改 --- CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs | 817 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 662 insertions(+), 155 deletions(-) diff --git a/CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs b/CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs index 78894d6..5a59362 100644 --- a/CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs +++ b/CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs @@ -34,6 +34,18 @@ using CoreCms.Net.Model.Entities.Order; using CoreCms.Net.Services; using System.Threading; +using MathNet.Numerics.Distributions; +using CoreCms.Net.Model.ViewModels.DTO; +using CoreCms.Net.Auth.HttpContextUser; +using MathNet.Numerics; +using Org.BouncyCastle.Asn1.Cmp; +using static CoreCms.Net.Configuration.GlobalEnumVars; +using static SKIT.FlurlHttpClient.Wechat.Api.Models.CardCreateRequest.Types.MembershipCard.Types.Base.Types; +using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinExpressDeliveryOpenMessageGetDeliveryListResponse.Types; +using System.Threading.Channels; +using System.Collections.Generic; +using EnumsNET; +using NPOI.SS.Formula.Functions; namespace CoreCms.Net.Web.Admin.Controllers { @@ -52,6 +64,11 @@ private readonly ICoreCmsPlanOrderItemServices _planOrderItemServices; private readonly ICoreCmsSettingServices _coreCmsSettingServices; private readonly SemaphoreSlim _semaphore; + private readonly IHttpContextUser _user; + private readonly ICoreCmsPlanOrderServices _planOrderServices; + private readonly ICoreCmsAreaServices _areaServices; + private readonly ICoreCmsOrderServices _orderServices; + private readonly ICoreCmsOrderItemServices _orderItemServices; /// <summary> @@ -61,12 +78,23 @@ ,ICoreCmsPlanOrderServices CoreCmsPlanOrderServices , ICoreCmsPlanOrderItemServices planOrderItemServices , ICoreCmsSettingServices coreCmsSettingServices + , IHttpContextUser user + , ICoreCmsPlanOrderServices planOrderServices + , ICoreCmsAreaServices areaServices + , ICoreCmsOrderServices orderServices + , ICoreCmsOrderItemServices orderItemServices ) { _webHostEnvironment = webHostEnvironment; _CoreCmsPlanOrderServices = CoreCmsPlanOrderServices; _planOrderItemServices = planOrderItemServices; _coreCmsSettingServices = coreCmsSettingServices; + _user = user; + _planOrderServices = planOrderServices; + _areaServices = areaServices; + _orderServices = orderServices; + _orderItemServices = orderItemServices; + } #region 鑾峰彇鍒楄〃============================================================ @@ -108,8 +136,26 @@ { where = where.And(p => p.orderId.Contains(orderId)); } - //璋冩暣璁㈠崟閲戦 decimal - var orderAmount = Request.Form["orderAmount"].FirstOrDefault().ObjectToDecimal(0); + //甯� varchar + var shi = Request.Form["shi"].FirstOrDefault().ObjectToInt(0); + if (shi>0) + { + where = where.And(p => p.shiId == shi); + } + //鍖哄幙 varchar + var quxian = Request.Form["quxian"].FirstOrDefault().ObjectToInt(0); ; + if (quxian>0) + { + where = where.And(p => p.quxianId == quxian); + } + //鏀惰揣鍦板潃 varchar + var shouhuoAddress = Request.Form["shouhuoAddress"].FirstOrDefault(); + if (!string.IsNullOrEmpty(shouhuoAddress)) + { + where = where.And(p => p.shouhuoAddress.Contains(shouhuoAddress)); + } + //璋冩暣璁㈠崟閲戦 decimal + var orderAmount = Request.Form["orderAmount"].FirstOrDefault().ObjectToDecimal(0); if (orderAmount > 0) { where = where.And(p => p.orderAmount == orderAmount); @@ -214,8 +260,9 @@ { where = where.And(p => p.isdelete == false); } + OtherData otherData = new OtherData(); //鑾峰彇鏁版嵁 - var list = await _CoreCmsPlanOrderServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true); + var list = await _CoreCmsPlanOrderServices.QueryPageAsync(where, orderEx, orderBy, otherData, pageCurrent, pageSize, true); if (list != null && list.Count > 0) { @@ -223,7 +270,7 @@ { //鑾峰彇鐩稿叧鐘舵�佹弿杩拌鏄庤浆鎹� order.statusText = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.PlanOrderTiJiao>(order.status); - + order.keYongAmount = order.keYongAmount - order.huaFeiAmount; } } @@ -232,6 +279,12 @@ jm.code = 0; jm.count = list.TotalCount; jm.msg = "鏁版嵁璋冪敤鎴愬姛!"; + + otherData.heji1 = list.Sum(x => x.oldOrderAmount); + otherData.heji2 = list.Sum(x => x.orderAmount); + otherData.heji3 = list.Sum(x => x.keYongAmount); + jm.otherData = otherData; + return jm; } #endregion @@ -244,10 +297,56 @@ /// <returns></returns> [HttpPost] [Description("棣栭〉鏁版嵁")] - public AdminUiCallBack GetIndex() + public async Task<AdminUiCallBack> GetIndex() { //杩斿洖鏁版嵁 var jm = new AdminUiCallBack { code = 0 }; + + var shi = await _areaServices.QueryListByClauseAsync(p=>p.parentId == 510000); + + jm.data = shi; + + return jm; + } + #endregion + #region 閫夋嫨鐪�============================================================ + // POST: Api/CoreCmsPlanOrder/GetIndex + /// <summary> + /// 閫夋嫨甯� + /// </summary> + /// <returns></returns> + [Description("閫夋嫨鐪�")] + [AllowAnonymous] + public async Task<AdminUiCallBack> GetCityId(int shengid = 0) + { + //杩斿洖鏁版嵁 + var jm = new AdminUiCallBack { code = 0 }; + + var shi = await _areaServices.QueryListByClauseAsync(p => p.parentId == shengid); + + jm.data = shi; + + return jm; + } + #endregion + + #region 閫夋嫨甯�============================================================ + // POST: Api/CoreCmsPlanOrder/GetIndex + /// <summary> + /// 閫夋嫨甯� + /// </summary> + /// <returns></returns> + [Description("閫夋嫨甯�")] + [AllowAnonymous] + public async Task<AdminUiCallBack> GetAreaId(int cityid = 0) + { + //杩斿洖鏁版嵁 + var jm = new AdminUiCallBack { code = 0 }; + + var shi = await _areaServices.QueryListByClauseAsync(p => p.parentId == cityid); + + jm.data = shi; + return jm; } #endregion @@ -293,7 +392,7 @@ /// <returns></returns> [HttpPost] [Description("缂栬緫鏁版嵁")] - public async Task<AdminUiCallBack> GetEdit([FromBody]FMIntId entity) + public async Task<AdminUiCallBack> GetEdit([FromBody]FMStringId entity) { var jm = new AdminUiCallBack(); @@ -303,8 +402,32 @@ jm.msg = "涓嶅瓨鍦ㄦ淇℃伅"; return jm; } + //鑾峰彇鐩稿叧鐘舵�佹弿杩拌鏄庤浆鎹� + model.statusText = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.PlanOrderTiJiao>(model.status); + model.keYongAmount = model.keYongAmount - model.huaFeiAmount; + + var modelItem1 = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == entity.id && p.isOld == true, p => p.specification, OrderByType.Asc); + + var modelItem2 = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == entity.id && p.isOld == false, p => p.specification, OrderByType.Asc); + + foreach (var coreCmsPlanOrderItem in modelItem1) + { + var coreCmsPlanOrderItem1 = modelItem2.Where(p => p.name == coreCmsPlanOrderItem.name && p.specification == coreCmsPlanOrderItem.specification).FirstOrDefault(); + if (coreCmsPlanOrderItem1 != null) + { + coreCmsPlanOrderItem.idnew = coreCmsPlanOrderItem1.id; + coreCmsPlanOrderItem.numsnew = coreCmsPlanOrderItem1.nums; + coreCmsPlanOrderItem.amountnew = coreCmsPlanOrderItem1.amount; + } + } + + jm.data = new + { + model, + modelItem1 + }; jm.code = 0; - jm.data = model; + // jm.data = model; return jm; } @@ -319,10 +442,59 @@ /// <returns></returns> [HttpPost] [Description("缂栬緫鎻愪氦")] - public async Task<AdminUiCallBack> DoEdit([FromBody]CoreCmsPlanOrder entity) + public async Task<AdminUiCallBack> DoEdit([FromBody] CreateOrder entity) { - var jm = await _CoreCmsPlanOrderServices.UpdateAsync(entity); + var jm = new AdminUiCallBack(); + + + + try + { + + + if (entity.itemIdarray ==null || entity.itemIdarray.Length==0) + { + jm.data = 10000; + jm.msg = GlobalErrorCodeVars.Code10000; + return jm; + } + string itemIds = string.Join(",", entity.itemIdarray); + + string itemNums = string.Join(",", entity.itemNumarray); + + + // jm = await _CoreCmsPlanOrderServices.UpdateAsync(new CoreCmsPlanOrder()); + var jms = await _planOrderServices.ToUpdate(entity.orderId, _user.ID, _user.Name, 2, itemIds, itemNums,"shi"); + if (jms.status) + { + jm.code = 0; + jm.data = jms.data; + jm.msg = "淇敼鎴愬姛"; + } + else + { + jm.code = 1; + jm.data = jms.data; + jm.msg = jms.otherData.ToString(); + } + + + + + + } + catch (Exception e) + { + jm.msg = "鏁版嵁澶勭悊寮傚父"; + jm.otherData = e; + } + + return jm; + + + + } #endregion @@ -345,8 +517,33 @@ jm.msg = GlobalConstVars.DataisNo; return jm; } - jm = await _CoreCmsPlanOrderServices.DeleteByIdAsync(entity.id); + jm = await _CoreCmsPlanOrderServices.DeleteByIdAsync(entity.id , _user.Name); + return jm; + } + + // POST: Api/CoreCmsPlanOrder/DoDelete/10 + /// <summary> + /// 鍗曢�夊垹闄� + /// </summary> + /// <param name="entity"></param> + /// <returns></returns> + [HttpPost] + [Description("鍗曢�夊垹闄�")] + public async Task<AdminUiCallBack> DoDeletedel([FromBody] FMStringId entity) + { + var jm = new AdminUiCallBack(); + + var model = await _CoreCmsPlanOrderServices.QueryByIdAsync(entity.id); + if (model == null) + { + jm.msg = GlobalConstVars.DataisNo; + return jm; + } + + var bl = await _CoreCmsPlanOrderServices.DeleteByIdAsync(entity.id); + jm.code = bl ? 0 : 1; + jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure; return jm; } #endregion @@ -360,9 +557,29 @@ /// <returns></returns> [HttpPost] [Description("鎵归噺鍒犻櫎")] - public async Task<AdminUiCallBack> DoBatchDelete([FromBody]FMArrayIntIds entity) + public async Task<AdminUiCallBack> DoBatchDelete([FromBody]FMArrayStringIds entity) { - var jm = await _CoreCmsPlanOrderServices.DeleteByIdsAsync(entity.id); + var jm = await _CoreCmsPlanOrderServices.DeleteByIdsAsync(entity.id, _user.Name); + return jm; + } + + + // POST: Api/CoreCmsPlanOrder/DoBatchDelete/10,11,20 + /// <summary> + /// 鎵归噺鍒犻櫎 + /// </summary> + /// <param name="entity"></param> + /// <returns></returns> + [HttpPost] + [Description("鎵归噺鍒犻櫎")] + public async Task<AdminUiCallBack> DoBatchDeletedel([FromBody] FMArrayStringIds entity) + { + var jm = new AdminUiCallBack(); + + var bl = await _CoreCmsPlanOrderServices.DeleteByIdsAsync(entity.id); + jm.code = bl ? 0 : 1; + jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure; + return jm; } @@ -389,16 +606,113 @@ } //鑾峰彇鐩稿叧鐘舵�佹弿杩拌鏄庤浆鎹� model.statusText = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.PlanOrderTiJiao>(model.status); + model.keYongAmount = model.keYongAmount - model.huaFeiAmount; - var modelItem = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == entity.id, p => p.specification, OrderByType.Asc); + var modelItem1 = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == entity.id && p.isOld == true, p => p.specification, OrderByType.Asc); + + var modelItem2 = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == entity.id && p.isOld == false, p => p.specification, OrderByType.Asc); + + + foreach(var coreCmsPlanOrderItem in modelItem1) + { + var coreCmsPlanOrderItem1 = modelItem2.Where(p => p.name == coreCmsPlanOrderItem.name && p.specification == coreCmsPlanOrderItem.specification).FirstOrDefault(); + if (coreCmsPlanOrderItem1 != null) + { + coreCmsPlanOrderItem.idnew = coreCmsPlanOrderItem1.id; + coreCmsPlanOrderItem.numsnew = coreCmsPlanOrderItem1.nums; + coreCmsPlanOrderItem.amountnew = coreCmsPlanOrderItem1.amount; + } + } + var coreCmsOrderItems = new List<CoreCmsOrderItem>(); + //鏌ヨ鐢ㄨ鍒掕鍗曠Н鍒嗚喘涔扮殑璁㈠崟 + var coreCmsOrders = await _orderServices.QueryListByClauseAsync(p => p.planorderId == model.orderId && p.isdel == false); + if(coreCmsOrders!=null && coreCmsOrders.Count > 0) + { + var orderids = new List<string>(); + foreach(var coreCmsOrder in coreCmsOrders) + { + orderids.Add(coreCmsOrder.orderId); + } + coreCmsOrderItems = await _orderItemServices.QueryListByClauseAsync(p => orderids.Contains(p.orderId)); + + } + + + + jm.data = new { model, - modelItem, + modelItem1 , + coreCmsOrderItems }; jm.code = 0; //jm.data = model; + + return jm; + } + #endregion + + + + + #region 閫夋嫨瀵煎嚭============================================================ + // POST: Api/CoreCmsPlanOrder/SelectExportExcel/10 + /// <summary> + /// 閫夋嫨瀵煎嚭 + /// </summary> + /// <param name="entity"></param> + /// <returns></returns> + [HttpPost] + [Description("閫夋嫨瀵煎嚭")] + public async Task<AdminUiCallBack> Selectselectchakan([FromBody] FMArrayStringIds entity) + { + var jm = new AdminUiCallBack(); + + //鍒涘缓Excel鏂囦欢鐨勫璞� + var book = new HSSFWorkbook(); + //娣诲姞涓�涓猻heet + var mySheet = book.CreateSheet("Sheet1"); + //鑾峰彇list鏁版嵁 + var listModel = await _CoreCmsPlanOrderServices.QueryListByClauseAsync(p => entity.id.Contains(p.orderId), p => p.orderId, OrderByType.Asc, true); + + var coreCmsPlanOrderItems = new List<CoreCmsPlanOrderItem>(); + //灏嗘暟鎹�愭鍐欏叆sheet1鍚勪釜琛� + for (var i = 0; i < listModel.Count; i++) + { + var modelItem1 = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == listModel[i].orderId && p.isOld == true, p => p.specification, OrderByType.Asc); + + var modelItem2 = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == listModel[i].orderId && p.isOld == false, p => p.specification, OrderByType.Asc); + + + foreach (var coreCmsPlanOrderItem in modelItem1) + { + var coreCmsPlanOrderItem1 = modelItem2.Where(p => p.name == coreCmsPlanOrderItem.name && p.specification == coreCmsPlanOrderItem.specification).FirstOrDefault(); + if (coreCmsPlanOrderItem1 != null) + { + coreCmsPlanOrderItem.idnew = coreCmsPlanOrderItem1.id; + coreCmsPlanOrderItem.numsnew = coreCmsPlanOrderItem1.nums; + coreCmsPlanOrderItem.amountnew = coreCmsPlanOrderItem1.amount; + } + coreCmsPlanOrderItems.Add(coreCmsPlanOrderItem); + } + } + + var groupedByMultipleFields = coreCmsPlanOrderItems.GroupBy(p => new { p.name, p.specification }) + .Select(p=>new CoreCmsPlanOrderItem + { + name = p.Key.name, + specification = p.Key.specification, + nums = p.Sum(c => c.nums), + numsnew = p.Sum(c => c.numsnew), + + }).ToList(); + + + + jm.data = groupedByMultipleFields; + jm.code = 0; return jm; } @@ -435,19 +749,19 @@ cellNum++; var cell1 = headerRow.CreateCell(cellNum); - cell1.SetCellValue("璋冩暣璁㈠崟閲戦"); + cell1.SetCellValue("甯�"); cell1.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell2 = headerRow.CreateCell(cellNum); - cell2.SetCellValue("璁㈠崟鐘舵��"); + cell2.SetCellValue("鍖哄幙"); cell2.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell3 = headerRow.CreateCell(cellNum); - cell3.SetCellValue("鐢ㄦ埛ID 鍏宠仈user.id"); + cell3.SetCellValue("鐗囧尯"); cell3.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; @@ -465,131 +779,219 @@ cellNum++; var cell6 = headerRow.CreateCell(cellNum); - cell6.SetCellValue("鏀惰揣鐢佃瘽"); + cell6.SetCellValue("鑱旂郴鐢佃瘽"); cell6.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell7 = headerRow.CreateCell(cellNum); - cell7.SetCellValue("璁″垝璁㈠崟閲戦"); + cell7.SetCellValue("鏀惰揣鍦板潃"); cell7.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell8 = headerRow.CreateCell(cellNum); - cell8.SetCellValue("鍙敤浣欓"); + cell8.SetCellValue("璁″垝閲戦"); cell8.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell9 = headerRow.CreateCell(cellNum); - cell9.SetCellValue("寤虹珛鏃堕棿"); + cell9.SetCellValue("璋冩暣閲戦"); cell9.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell10 = headerRow.CreateCell(cellNum); - cell10.SetCellValue("淇敼鏃堕棿"); + cell10.SetCellValue("鍙敤浣欓"); cell10.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell11 = headerRow.CreateCell(cellNum); - cell11.SetCellValue("鍒涘缓浜�"); + cell11.SetCellValue("鍟嗗搧鍚嶇О"); cell11.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell12 = headerRow.CreateCell(cellNum); - cell12.SetCellValue("淇敼浜�"); + cell12.SetCellValue("鍗曚环锛堝厓锛�"); cell12.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; var cell13 = headerRow.CreateCell(cellNum); - cell13.SetCellValue("鍒犻櫎鏍囧織"); + cell13.SetCellValue("璁″垝鏁伴噺"); cell13.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell14 = headerRow.CreateCell(cellNum); + cell14.SetCellValue("璁″垝閲戦锛堝厓锛�"); + cell14.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell15 = headerRow.CreateCell(cellNum); + cell15.SetCellValue("璋冩暣鏁伴噺"); + cell15.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell16 = headerRow.CreateCell(cellNum); + cell16.SetCellValue("璋冩暣閲戦锛堝厓锛�"); + cell16.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; headerRow.Height = 30 * 20; var commonCellStyle = ExcelHelper.GetCommonStyle(book); + + var rows = 1; //灏嗘暟鎹�愭鍐欏叆sheet1鍚勪釜琛� for (var i = 0; i < listModel.Count; i++) { - var rowTemp = mySheet.CreateRow(i + 1); - var cellNumTemp = 0; + var modelItem1 = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == listModel[i].orderId && p.isOld == true, p => p.specification, OrderByType.Asc); + var modelItem2 = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == listModel[i].orderId && p.isOld == false, p => p.specification, OrderByType.Asc); + + + foreach (var coreCmsPlanOrderItem in modelItem1) + { + var coreCmsPlanOrderItem1 = modelItem2.Where(p => p.name == coreCmsPlanOrderItem.name && p.specification == coreCmsPlanOrderItem.specification).FirstOrDefault(); + if (coreCmsPlanOrderItem1 != null) + { + coreCmsPlanOrderItem.idnew = coreCmsPlanOrderItem1.id; + coreCmsPlanOrderItem.numsnew = coreCmsPlanOrderItem1.nums; + coreCmsPlanOrderItem.amountnew = coreCmsPlanOrderItem1.amount; + } + } + var coreCmsOrderItems = new List<CoreCmsOrderItem>(); + //鏌ヨ鐢ㄨ鍒掕鍗曠Н鍒嗚喘涔扮殑璁㈠崟 + var coreCmsOrders = await _orderServices.QueryListByClauseAsync(p => p.planorderId == listModel[i].orderId && p.isdel == false); + if (coreCmsOrders != null && coreCmsOrders.Count > 0) + { + var orderids = new List<string>(); + foreach (var coreCmsOrder in coreCmsOrders) + { + orderids.Add(coreCmsOrder.orderId); + } + coreCmsOrderItems = await _orderItemServices.QueryListByClauseAsync(p => orderids.Contains(p.orderId)); + + } + foreach (var coreCmsOrder1 in coreCmsOrderItems) + { + var coreCmsPlanOrderItem = new CoreCmsPlanOrderItem(); + coreCmsPlanOrderItem.name = coreCmsOrder1.name; + coreCmsPlanOrderItem.specification = coreCmsOrder1.addon; + coreCmsPlanOrderItem.price = coreCmsOrder1.price; + coreCmsPlanOrderItem.nums = 0; + coreCmsPlanOrderItem.amount = 0; + coreCmsPlanOrderItem.numsnew = coreCmsOrder1.nums; + coreCmsPlanOrderItem.amountnew = coreCmsOrder1.amount; + + modelItem1.Add(coreCmsPlanOrderItem); + } + for (var j = 0; j < modelItem1.Count; j++) + { + var rowTemp = mySheet.CreateRow(rows);//i + 1 + var cellNumTemp = 0; var rowTemp0 = rowTemp.CreateCell(cellNumTemp); - rowTemp0.SetCellValue(listModel[i].orderId.ToString()); - rowTemp0.CellStyle = commonCellStyle; - cellNumTemp++; + rowTemp0.SetCellValue(listModel[i].orderId.ToString()); + rowTemp0.CellStyle = commonCellStyle; + cellNumTemp++; var rowTemp1 = rowTemp.CreateCell(cellNumTemp); - rowTemp1.SetCellValue(listModel[i].orderAmount.ToString()); - rowTemp1.CellStyle = commonCellStyle; - cellNumTemp++; + rowTemp1.SetCellValue(listModel[i].shi.ToString()); + rowTemp1.CellStyle = commonCellStyle; + cellNumTemp++; var rowTemp2 = rowTemp.CreateCell(cellNumTemp); - rowTemp2.SetCellValue(listModel[i].status.ToString()); - rowTemp2.CellStyle = commonCellStyle; - cellNumTemp++; + rowTemp2.SetCellValue(listModel[i].quxian.ToString()); + rowTemp2.CellStyle = commonCellStyle; + cellNumTemp++; var rowTemp3 = rowTemp.CreateCell(cellNumTemp); - rowTemp3.SetCellValue(listModel[i].userId.ToString()); - rowTemp3.CellStyle = commonCellStyle; - cellNumTemp++; + rowTemp3.SetCellValue(listModel[i].pianqu.ToString()); + rowTemp3.CellStyle = commonCellStyle; + cellNumTemp++; var rowTemp4 = rowTemp.CreateCell(cellNumTemp); - rowTemp4.SetCellValue(listModel[i].shipAddress.ToString()); - rowTemp4.CellStyle = commonCellStyle; - cellNumTemp++; + rowTemp4.SetCellValue(listModel[i].shipAddress.ToString()); + rowTemp4.CellStyle = commonCellStyle; + cellNumTemp++; var rowTemp5 = rowTemp.CreateCell(cellNumTemp); - rowTemp5.SetCellValue(listModel[i].shipName.ToString()); - rowTemp5.CellStyle = commonCellStyle; - cellNumTemp++; + rowTemp5.SetCellValue(listModel[i].shipName.ToString()); + rowTemp5.CellStyle = commonCellStyle; + cellNumTemp++; var rowTemp6 = rowTemp.CreateCell(cellNumTemp); - rowTemp6.SetCellValue(listModel[i].shipMobile.ToString()); - rowTemp6.CellStyle = commonCellStyle; - cellNumTemp++; + rowTemp6.SetCellValue(listModel[i].shipMobile.ToString()); + rowTemp6.CellStyle = commonCellStyle; + cellNumTemp++; var rowTemp7 = rowTemp.CreateCell(cellNumTemp); - rowTemp7.SetCellValue(listModel[i].oldOrderAmount.ToString()); - rowTemp7.CellStyle = commonCellStyle; - cellNumTemp++; + rowTemp7.SetCellValue(listModel[i].shouhuoAddress.ToString()); + rowTemp7.CellStyle = commonCellStyle; + cellNumTemp++; var rowTemp8 = rowTemp.CreateCell(cellNumTemp); - rowTemp8.SetCellValue(listModel[i].keYongAmount.ToString()); - rowTemp8.CellStyle = commonCellStyle; - cellNumTemp++; + rowTemp8.SetCellValue(listModel[i].oldOrderAmount.ToString()); + rowTemp8.CellStyle = commonCellStyle; + cellNumTemp++; var rowTemp9 = rowTemp.CreateCell(cellNumTemp); - rowTemp9.SetCellValue(listModel[i].createTime.ToString()); - rowTemp9.CellStyle = commonCellStyle; - cellNumTemp++; + rowTemp9.SetCellValue(listModel[i].orderAmount.ToString()); + rowTemp9.CellStyle = commonCellStyle; + cellNumTemp++; var rowTemp10 = rowTemp.CreateCell(cellNumTemp); - rowTemp10.SetCellValue(listModel[i].upDataTime.ToString()); - rowTemp10.CellStyle = commonCellStyle; - cellNumTemp++; + rowTemp10.SetCellValue(listModel[i].keYongAmount.ToString()); + rowTemp10.CellStyle = commonCellStyle; + cellNumTemp++; var rowTemp11 = rowTemp.CreateCell(cellNumTemp); - rowTemp11.SetCellValue(listModel[i].createBy.ToString()); - rowTemp11.CellStyle = commonCellStyle; - cellNumTemp++; + rowTemp11.SetCellValue(modelItem1[j].name.ToString() + modelItem1[j].specification.ToString()); + rowTemp11.CellStyle = commonCellStyle; + cellNumTemp++; var rowTemp12 = rowTemp.CreateCell(cellNumTemp); - rowTemp12.SetCellValue(listModel[i].upDataBy.ToString()); - rowTemp12.CellStyle = commonCellStyle; - cellNumTemp++; + rowTemp12.SetCellValue(modelItem1[j].price.ToString()); + rowTemp12.CellStyle = commonCellStyle; + cellNumTemp++; var rowTemp13 = rowTemp.CreateCell(cellNumTemp); - rowTemp13.SetCellValue(listModel[i].isdelete.ToString()); - rowTemp13.CellStyle = commonCellStyle; - cellNumTemp++; + rowTemp13.SetCellValue(modelItem1[j].nums.ToString()); + rowTemp13.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp14 = rowTemp.CreateCell(cellNumTemp); + rowTemp14.SetCellValue(modelItem1[j].amount.ToString()); + rowTemp14.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp15 = rowTemp.CreateCell(cellNumTemp); + rowTemp15.SetCellValue(modelItem1[j].numsnew.ToString()); + rowTemp15.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp16 = rowTemp.CreateCell(cellNumTemp); + rowTemp16.SetCellValue(modelItem1[j].amountnew.ToString()); + rowTemp16.CellStyle = commonCellStyle; + cellNumTemp++; + + + + rows++; + } + + + + + + } // 瀵煎嚭excel @@ -635,8 +1037,26 @@ { where = where.And(p => p.orderId.Contains(orderId)); } - //璋冩暣璁㈠崟閲戦 decimal - var orderAmount = Request.Form["orderAmount"].FirstOrDefault().ObjectToDecimal(0); + //甯� varchar + var shi = Request.Form["shi"].FirstOrDefault().ObjectToInt(0); + if (shi > 0) + { + where = where.And(p => p.shiId == shi); + } + //鍖哄幙 varchar + var quxian = Request.Form["quxian"].FirstOrDefault().ObjectToInt(0); ; + if (quxian > 0) + { + where = where.And(p => p.quxianId == quxian); + } + //鏀惰揣鍦板潃 varchar + var shouhuoAddress = Request.Form["shouhuoAddress"].FirstOrDefault(); + if (!string.IsNullOrEmpty(shouhuoAddress)) + { + where = where.And(p => p.shouhuoAddress.Contains(shouhuoAddress)); + } + //璋冩暣璁㈠崟閲戦 decimal + var orderAmount = Request.Form["orderAmount"].FirstOrDefault().ObjectToDecimal(0); if (orderAmount > 0) { where = where.And(p => p.orderAmount == orderAmount); @@ -752,170 +1172,257 @@ var headerRow = mySheet.CreateRow(0); var headerStyle = ExcelHelper.GetHeaderStyle(book); var cellNum = 0; - + var cell0 = headerRow.CreateCell(cellNum); cell0.SetCellValue("璁㈠崟鍙�"); cell0.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; - + var cell1 = headerRow.CreateCell(cellNum); - cell1.SetCellValue("璋冩暣璁㈠崟閲戦"); + cell1.SetCellValue("甯�"); cell1.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; - + var cell2 = headerRow.CreateCell(cellNum); - cell2.SetCellValue("璁㈠崟鐘舵��"); + cell2.SetCellValue("鍖哄幙"); cell2.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; - + var cell3 = headerRow.CreateCell(cellNum); - cell3.SetCellValue("鐢ㄦ埛ID 鍏宠仈user.id"); + cell3.SetCellValue("鐗囧尯"); cell3.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; - + var cell4 = headerRow.CreateCell(cellNum); cell4.SetCellValue("瀛︽牎"); cell4.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; - + var cell5 = headerRow.CreateCell(cellNum); cell5.SetCellValue("鑱旂郴浜�"); cell5.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; - + var cell6 = headerRow.CreateCell(cellNum); - cell6.SetCellValue("鏀惰揣鐢佃瘽"); + cell6.SetCellValue("鑱旂郴鐢佃瘽"); cell6.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; - + var cell7 = headerRow.CreateCell(cellNum); - cell7.SetCellValue("璁″垝璁㈠崟閲戦"); + cell7.SetCellValue("鏀惰揣鍦板潃"); cell7.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; - + var cell8 = headerRow.CreateCell(cellNum); - cell8.SetCellValue("鍙敤浣欓"); + cell8.SetCellValue("璁″垝閲戦"); cell8.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; - + var cell9 = headerRow.CreateCell(cellNum); - cell9.SetCellValue("寤虹珛鏃堕棿"); + cell9.SetCellValue("璋冩暣閲戦"); cell9.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; - + var cell10 = headerRow.CreateCell(cellNum); - cell10.SetCellValue("淇敼鏃堕棿"); + cell10.SetCellValue("鍙敤浣欓"); cell10.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; - + var cell11 = headerRow.CreateCell(cellNum); - cell11.SetCellValue("鍒涘缓浜�"); + cell11.SetCellValue("鍟嗗搧鍚嶇О"); cell11.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; - + var cell12 = headerRow.CreateCell(cellNum); - cell12.SetCellValue("淇敼浜�"); + cell12.SetCellValue("鍗曚环锛堝厓锛�"); cell12.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; - + var cell13 = headerRow.CreateCell(cellNum); - cell13.SetCellValue("鍒犻櫎鏍囧織"); + cell13.SetCellValue("璁″垝鏁伴噺"); cell13.CellStyle = headerStyle; mySheet.SetColumnWidth(cellNum, 10 * 256); cellNum++; - + + var cell14 = headerRow.CreateCell(cellNum); + cell14.SetCellValue("璁″垝閲戦锛堝厓锛�"); + cell14.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell15 = headerRow.CreateCell(cellNum); + cell15.SetCellValue("璋冩暣鏁伴噺"); + cell15.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell16 = headerRow.CreateCell(cellNum); + cell16.SetCellValue("璋冩暣閲戦锛堝厓锛�"); + cell16.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + headerRow.Height = 30 * 20; var commonCellStyle = ExcelHelper.GetCommonStyle(book); + var rows = 1; //灏嗘暟鎹�愭鍐欏叆sheet1鍚勪釜琛� for (var i = 0; i < listModel.Count; i++) { - var rowTemp = mySheet.CreateRow(i + 1); - var cellNumTemp = 0; + var modelItem1 = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == listModel[i].orderId && p.isOld == true, p => p.specification, OrderByType.Asc); - var rowTemp0 = rowTemp.CreateCell(cellNumTemp); - rowTemp0.SetCellValue(listModel[i].orderId.ToString()); - rowTemp0.CellStyle = commonCellStyle; - cellNumTemp++; + var modelItem2 = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == listModel[i].orderId && p.isOld == false, p => p.specification, OrderByType.Asc); - var rowTemp1 = rowTemp.CreateCell(cellNumTemp); - rowTemp1.SetCellValue(listModel[i].orderAmount.ToString()); - rowTemp1.CellStyle = commonCellStyle; - cellNumTemp++; - var rowTemp2 = rowTemp.CreateCell(cellNumTemp); - rowTemp2.SetCellValue(listModel[i].status.ToString()); - rowTemp2.CellStyle = commonCellStyle; - cellNumTemp++; + foreach (var coreCmsPlanOrderItem in modelItem1) + { + var coreCmsPlanOrderItem1 = modelItem2.Where(p => p.name == coreCmsPlanOrderItem.name && p.specification == coreCmsPlanOrderItem.specification).FirstOrDefault(); + if (coreCmsPlanOrderItem1 != null) + { + coreCmsPlanOrderItem.idnew = coreCmsPlanOrderItem1.id; + coreCmsPlanOrderItem.numsnew = coreCmsPlanOrderItem1.nums; + coreCmsPlanOrderItem.amountnew = coreCmsPlanOrderItem1.amount; + } + } + var coreCmsOrderItems = new List<CoreCmsOrderItem>(); + //鏌ヨ鐢ㄨ鍒掕鍗曠Н鍒嗚喘涔扮殑璁㈠崟 + var coreCmsOrders = await _orderServices.QueryListByClauseAsync(p => p.planorderId == listModel[i].orderId && p.isdel == false); + if (coreCmsOrders != null && coreCmsOrders.Count > 0) + { + var orderids = new List<string>(); + foreach (var coreCmsOrder in coreCmsOrders) + { + orderids.Add(coreCmsOrder.orderId); + } + coreCmsOrderItems = await _orderItemServices.QueryListByClauseAsync(p => orderids.Contains(p.orderId)); - var rowTemp3 = rowTemp.CreateCell(cellNumTemp); - rowTemp3.SetCellValue(listModel[i].userId.ToString()); - rowTemp3.CellStyle = commonCellStyle; - cellNumTemp++; + } + foreach (var coreCmsOrder1 in coreCmsOrderItems) + { + var coreCmsPlanOrderItem = new CoreCmsPlanOrderItem(); + coreCmsPlanOrderItem.name = coreCmsOrder1.name; + coreCmsPlanOrderItem.specification = coreCmsOrder1.addon; + coreCmsPlanOrderItem.price = coreCmsOrder1.price; + coreCmsPlanOrderItem.nums = 0; + coreCmsPlanOrderItem.amount = 0; + coreCmsPlanOrderItem.numsnew = coreCmsOrder1.nums; + coreCmsPlanOrderItem.amountnew = coreCmsOrder1.amount; - var rowTemp4 = rowTemp.CreateCell(cellNumTemp); - rowTemp4.SetCellValue(listModel[i].shipAddress.ToString()); - rowTemp4.CellStyle = commonCellStyle; - cellNumTemp++; + modelItem1.Add(coreCmsPlanOrderItem); + } + for (var j = 0; j < modelItem1.Count; j++) + { + var rowTemp = mySheet.CreateRow(rows);//i + 1 + var cellNumTemp = 0; + var rowTemp0 = rowTemp.CreateCell(cellNumTemp); + rowTemp0.SetCellValue(listModel[i].orderId.ToString()); + rowTemp0.CellStyle = commonCellStyle; + cellNumTemp++; - var rowTemp5 = rowTemp.CreateCell(cellNumTemp); - rowTemp5.SetCellValue(listModel[i].shipName.ToString()); - rowTemp5.CellStyle = commonCellStyle; - cellNumTemp++; + var rowTemp1 = rowTemp.CreateCell(cellNumTemp); + rowTemp1.SetCellValue(listModel[i].shi.ToString()); + rowTemp1.CellStyle = commonCellStyle; + cellNumTemp++; - var rowTemp6 = rowTemp.CreateCell(cellNumTemp); - rowTemp6.SetCellValue(listModel[i].shipMobile.ToString()); - rowTemp6.CellStyle = commonCellStyle; - cellNumTemp++; + var rowTemp2 = rowTemp.CreateCell(cellNumTemp); + rowTemp2.SetCellValue(listModel[i].quxian.ToString()); + rowTemp2.CellStyle = commonCellStyle; + cellNumTemp++; - var rowTemp7 = rowTemp.CreateCell(cellNumTemp); - rowTemp7.SetCellValue(listModel[i].oldOrderAmount.ToString()); - rowTemp7.CellStyle = commonCellStyle; - cellNumTemp++; + var rowTemp3 = rowTemp.CreateCell(cellNumTemp); + rowTemp3.SetCellValue(listModel[i].pianqu.ToString()); + rowTemp3.CellStyle = commonCellStyle; + cellNumTemp++; - var rowTemp8 = rowTemp.CreateCell(cellNumTemp); - rowTemp8.SetCellValue(listModel[i].keYongAmount.ToString()); - rowTemp8.CellStyle = commonCellStyle; - cellNumTemp++; + var rowTemp4 = rowTemp.CreateCell(cellNumTemp); + rowTemp4.SetCellValue(listModel[i].shipAddress.ToString()); + rowTemp4.CellStyle = commonCellStyle; + cellNumTemp++; - var rowTemp9 = rowTemp.CreateCell(cellNumTemp); - rowTemp9.SetCellValue(listModel[i].createTime.ToString()); - rowTemp9.CellStyle = commonCellStyle; - cellNumTemp++; + var rowTemp5 = rowTemp.CreateCell(cellNumTemp); + rowTemp5.SetCellValue(listModel[i].shipName.ToString()); + rowTemp5.CellStyle = commonCellStyle; + cellNumTemp++; - var rowTemp10 = rowTemp.CreateCell(cellNumTemp); - rowTemp10.SetCellValue(listModel[i].upDataTime.ToString()); - rowTemp10.CellStyle = commonCellStyle; - cellNumTemp++; + var rowTemp6 = rowTemp.CreateCell(cellNumTemp); + rowTemp6.SetCellValue(listModel[i].shipMobile.ToString()); + rowTemp6.CellStyle = commonCellStyle; + cellNumTemp++; - var rowTemp11 = rowTemp.CreateCell(cellNumTemp); - rowTemp11.SetCellValue(listModel[i].createBy.ToString()); - rowTemp11.CellStyle = commonCellStyle; - cellNumTemp++; + var rowTemp7 = rowTemp.CreateCell(cellNumTemp); + rowTemp7.SetCellValue(listModel[i].shouhuoAddress.ToString()); + rowTemp7.CellStyle = commonCellStyle; + cellNumTemp++; - var rowTemp12 = rowTemp.CreateCell(cellNumTemp); - rowTemp12.SetCellValue(listModel[i].upDataBy.ToString()); - rowTemp12.CellStyle = commonCellStyle; - cellNumTemp++; + var rowTemp8 = rowTemp.CreateCell(cellNumTemp); + rowTemp8.SetCellValue(listModel[i].oldOrderAmount.ToString()); + rowTemp8.CellStyle = commonCellStyle; + cellNumTemp++; - var rowTemp13 = rowTemp.CreateCell(cellNumTemp); - rowTemp13.SetCellValue(listModel[i].isdelete.ToString()); - rowTemp13.CellStyle = commonCellStyle; - cellNumTemp++; + var rowTemp9 = rowTemp.CreateCell(cellNumTemp); + rowTemp9.SetCellValue(listModel[i].orderAmount.ToString()); + rowTemp9.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp10 = rowTemp.CreateCell(cellNumTemp); + rowTemp10.SetCellValue(listModel[i].keYongAmount.ToString()); + rowTemp10.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp11 = rowTemp.CreateCell(cellNumTemp); + rowTemp11.SetCellValue(modelItem1[j].name.ToString() + modelItem1[j].specification.ToString()); + rowTemp11.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp12 = rowTemp.CreateCell(cellNumTemp); + rowTemp12.SetCellValue(modelItem1[j].price.ToString()); + rowTemp12.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp13 = rowTemp.CreateCell(cellNumTemp); + rowTemp13.SetCellValue(modelItem1[j].nums.ToString()); + rowTemp13.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp14 = rowTemp.CreateCell(cellNumTemp); + rowTemp14.SetCellValue(modelItem1[j].amount.ToString()); + rowTemp14.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp15 = rowTemp.CreateCell(cellNumTemp); + rowTemp15.SetCellValue(modelItem1[j].numsnew.ToString()); + rowTemp15.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp16 = rowTemp.CreateCell(cellNumTemp); + rowTemp16.SetCellValue(modelItem1[j].amountnew.ToString()); + rowTemp16.CellStyle = commonCellStyle; + cellNumTemp++; + + + + rows++; + } + + + + + + } // 鍐欏叆鍒癳xcel -- Gitblit v1.9.1