From 7a3a4f8012a72f80d8dd62064a76655c803da864 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期三, 29 五月 2024 12:42:45 +0800 Subject: [PATCH] Merge branch 'master' of http://47.108.235.38:8080/r/baifenbaishop --- CoreCms.Net.Web.Admin/Controllers/baifenbingfa/PuhuoController.cs | 1769 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 1,769 insertions(+), 0 deletions(-) diff --git a/CoreCms.Net.Web.Admin/Controllers/baifenbingfa/PuhuoController.cs b/CoreCms.Net.Web.Admin/Controllers/baifenbingfa/PuhuoController.cs new file mode 100644 index 0000000..a0ccdb2 --- /dev/null +++ b/CoreCms.Net.Web.Admin/Controllers/baifenbingfa/PuhuoController.cs @@ -0,0 +1,1769 @@ +/*********************************************************************** + * Project: baifenBinfa + * ProjectName: 鐧惧垎鍏垫硶绠$悊绯荤粺 + * Web: http://chuanyin.com + * Author: + * Email: + * CreateTime: 2024/5/24 11:11:45 + * Description: 鏆傛棤 + ***********************************************************************/ + + +using System; +using System.ComponentModel; +using System.IO; +using System.Linq; +using System.Linq.Expressions; +using System.Threading.Tasks; +using CoreCms.Net.Configuration; +using CoreCms.Net.Model.Entities; +using CoreCms.Net.Model.Entities.Expression; +using CoreCms.Net.Model.FromBody; +using CoreCms.Net.Model.ViewModels.UI; +using CoreCms.Net.Filter; +using CoreCms.Net.Loging; +using CoreCms.Net.IServices; +using CoreCms.Net.Utility.Helper; +using CoreCms.Net.Utility.Extensions; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Mvc; +using NPOI.HSSF.UserModel; +using SqlSugar; +using CoreCms.Net.Web.Admin.Infrastructure; +using CoreCms.Net.Model.Entities.baifenbingfa.puhuo; +using static CoreCms.Net.Configuration.GlobalEnumVars; +using CoreCms.Net.Services; +using System.Collections.Generic; +using NetTaste; +using NPOI.SS.Formula.Functions; +using CoreCms.Net.Services.Basic; +using CoreCms.Net.Model.Entities.baifenbingfa.Promote; +using Essensoft.Paylink.Alipay.Domain; +using CoreCms.Net.Auth.HttpContextUser; +using MathNet.Numerics.Distributions; + +namespace CoreCms.Net.Web.Admin.Controllers +{ + /// <summary> + /// 閾鸿揣 + ///</summary> + [Description("閾鸿揣")] + [Route("api/[controller]/[action]")] + [ApiController] + [RequiredErrorForAdmin] + [Authorize(Permissions.Name)] + public class PuhuoController : ControllerBase + { + private readonly IWebHostEnvironment _webHostEnvironment; + private readonly IPuhuoServices _PuhuoServices; + private readonly ICoreCmsGoodsCategoryServices _coreCmsGoodsCategoryServices; + private readonly ICoreCmsDistributionServices _coreCmsDistributionServices; + private readonly ICoreCmsGoodsCategoryExtendServices _goodsCategoryExtendServices; + private readonly ICoreCmsGoodsServices _coreCmsGoodsServices; + private readonly ICoreCmsProductsServices _coreCmsProductsServices; + private readonly ICoreCmsAreaServices _coreCmsAreaServices; + private readonly IHttpContextUser _user; + private readonly ICoreCmsAreaServices _areaServices; + private readonly ICoreCmsGoodsCategoryServices _goodsCategoryServices; + + /// <summary> + /// 鏋勯�犲嚱鏁� + ///</summary> + public PuhuoController(IWebHostEnvironment webHostEnvironment + ,IPuhuoServices PuhuoServices + , ICoreCmsGoodsCategoryServices coreCmsGoodsCategoryServices + , ICoreCmsDistributionServices coreCmsDistributionServices + , ICoreCmsGoodsCategoryExtendServices goodsCategoryExtendServices + , ICoreCmsGoodsServices coreCmsGoodsServices + , ICoreCmsProductsServices coreCmsProductsServices + , ICoreCmsAreaServices coreCmsAreaServices + , IHttpContextUser user + , ICoreCmsAreaServices areaServices + , ICoreCmsGoodsCategoryServices goodsCategoryServices + ) + { + _webHostEnvironment = webHostEnvironment; + _PuhuoServices = PuhuoServices; + _coreCmsGoodsCategoryServices = coreCmsGoodsCategoryServices; + _coreCmsDistributionServices = coreCmsDistributionServices; + _goodsCategoryExtendServices = goodsCategoryExtendServices; + _coreCmsGoodsServices = coreCmsGoodsServices; + _coreCmsProductsServices = coreCmsProductsServices; + _coreCmsAreaServices = coreCmsAreaServices; + _user = user; + _areaServices = areaServices; + _goodsCategoryServices = goodsCategoryServices; + } + + + #region 鑾峰彇鍒楄〃group============================================================ + // POST: Api/Puhuo/GetPageListGroup + /// <summary> + /// 鑾峰彇鍒楄〃group + /// </summary> + /// <returns></returns> + [HttpPost] + [Description("鑾峰彇鍒楄〃group")] + public async Task<AdminUiCallBack> GetPageListGroup() + { + var jm = new AdminUiCallBack(); + var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1); + var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30); + var where = PredicateBuilder.True<Puhuo>(); + //鑾峰彇鎺掑簭瀛楁 + var orderField = Request.Form["orderField"].FirstOrDefault(); + + Expression<Func<Puhuo, object>> orderEx = orderField switch + { + "id" => p => p.id, + "distributionId" => p => p.distributionId, + "distributionName" => p => p.distributionName, + "areaCode" => p => p.areaCode, + "areaCodeName" => p => p.areaCodeName, + "CategoryId" => p => p.CategoryId, + "CategoryName" => p => p.CategoryName, + "goodsId" => p => p.goodsId, + "goodsName" => p => p.goodsName, + "productsId" => p => p.productsId, + "productsName" => p => p.productsName, + "spesDesc" => p => p.spesDesc, + "price" => p => p.price, + "nums" => p => p.nums, + "amount" => p => p.amount, + "createTime" => p => p.createTime, + "upDataTime" => p => p.upDataTime, + "createBy" => p => p.createBy, + "upDataBy" => p => p.upDataBy, + "isdelete" => p => p.isdelete, + _ => p => p.goodsId + }; + + //璁剧疆鎺掑簭鏂瑰紡 + var orderDirection = Request.Form["orderDirection"].FirstOrDefault(); + var orderBy = orderDirection switch + { + "asc" => OrderByType.Asc, + "desc" => OrderByType.Desc, + _ => OrderByType.Desc + }; + //鏌ヨ绛涢�� + + //涓婚敭ID int + var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0); + if (id > 0) + { + where = where.And(p => p.id == id); + } + //缁忛攢鍟唅d int + var distributionId = Request.Form["distributionId"].FirstOrDefault().ObjectToInt(0); + if (distributionId > 0) + { + where = where.And(p => p.distributionId == distributionId); + } + //缁忛攢鍟� varchar + var distributionName = Request.Form["distributionName"].FirstOrDefault(); + if (!string.IsNullOrEmpty(distributionName)) + { + where = where.And(p => p.distributionName.Contains(distributionName)); + } + //鍖哄煙 varchar + var sheng = Request.Form["sheng"].FirstOrDefault(); + if (!string.IsNullOrEmpty(sheng)) + { + where = where.And(p => p.areaCode.Contains(sheng)); + } + var shi = Request.Form["shi"].FirstOrDefault(); + if (!string.IsNullOrEmpty(shi)) + { + where = where.And(p => p.areaCode.Contains(shi)); + } + var quxian = Request.Form["quxian"].FirstOrDefault(); + if (!string.IsNullOrEmpty(quxian)) + { + where = where.And(p => p.areaCode.Contains(quxian)); + } + //鍖哄煙鍚嶇О varchar + var areaCodeName = Request.Form["areaCodeName"].FirstOrDefault(); + if (!string.IsNullOrEmpty(areaCodeName)) + { + where = where.And(p => p.areaCodeName.Contains(areaCodeName)); + } + //鍟嗗搧鍒嗙被id int + var CategoryId = Request.Form["CategoryId"].FirstOrDefault().ObjectToInt(0); + if (CategoryId > 0) + { + + + var categories = await _goodsCategoryServices.QueryAsync(true, true); + var ids = GoodsHelper.GetChildIds(categories, CategoryId); + //鎵╁睍鍒嗙被 + var extends = await _goodsCategoryExtendServices.QueryListByClauseAsync(p => p.goodsCategroyId == CategoryId); + if (extends.Any()) + { + var extGoodIds = extends.Select(p => p.goodsId).ToList(); + where = where.And(p => ids.Contains(p.CategoryId) || extGoodIds.Contains(p.id)); + } + else + { + where = where.And(p => ids.Contains(p.CategoryId)); + } + } + //鍟嗗搧鍒嗙被 varchar + var CategoryName = Request.Form["CategoryName"].FirstOrDefault(); + if (!string.IsNullOrEmpty(CategoryName)) + { + where = where.And(p => p.CategoryName.Contains(CategoryName)); + } + //鍟嗗搧id int + var goodsId = Request.Form["goodsId"].FirstOrDefault().ObjectToInt(0); + if (goodsId > 0) + { + where = where.And(p => p.goodsId == goodsId); + } + //鍟嗗搧鍚嶇О varchar + var goodsName = Request.Form["goodsName"].FirstOrDefault(); + if (!string.IsNullOrEmpty(goodsName)) + { + where = where.And(p => p.goodsName.Contains(goodsName)); + } + //璐у搧id int + var productsId = Request.Form["productsId"].FirstOrDefault().ObjectToInt(0); + if (productsId > 0) + { + where = where.And(p => p.productsId == productsId); + } + //璐у搧缂栧彿 varchar + var productsName = Request.Form["productsName"].FirstOrDefault(); + if (!string.IsNullOrEmpty(productsName)) + { + where = where.And(p => p.productsName.Contains(productsName)); + } + //璐у搧瑙勬牸 varchar + var spesDesc = Request.Form["spesDesc"].FirstOrDefault(); + if (!string.IsNullOrEmpty(spesDesc)) + { + where = where.And(p => p.spesDesc.Contains(spesDesc)); + } + //璐у搧浠锋牸 decimal + var price = Request.Form["price"].FirstOrDefault().ObjectToDecimal(0); + if (price > 0) + { + where = where.And(p => p.price == price); + } + //鏁伴噺 int + var nums = Request.Form["nums"].FirstOrDefault().ObjectToInt(0); + if (nums > 0) + { + where = where.And(p => p.nums == nums); + } + //閲戦 decimal + var amount = Request.Form["amount"].FirstOrDefault().ObjectToDecimal(0); + if (amount > 0) + { + where = where.And(p => p.amount == amount); + } + //寤虹珛鏃堕棿 datetime + var createTime = Request.Form["createTime"].FirstOrDefault(); + if (!string.IsNullOrEmpty(createTime)) + { + if (createTime.Contains("鍒�")) + { + var dts = createTime.Split("鍒�"); + var dtStart = dts[0].Trim().ObjectToDate(); + where = where.And(p => p.createTime > dtStart); + var dtEnd = dts[1].Trim().ObjectToDate(); + where = where.And(p => p.createTime < dtEnd); + } + else + { + var dt = createTime.ObjectToDate(); + where = where.And(p => p.createTime > dt); + } + } + //淇敼鏃堕棿 datetime + var upDataTime = Request.Form["upDataTime"].FirstOrDefault(); + if (!string.IsNullOrEmpty(upDataTime)) + { + if (upDataTime.Contains("鍒�")) + { + var dts = upDataTime.Split("鍒�"); + var dtStart = dts[0].Trim().ObjectToDate(); + where = where.And(p => p.upDataTime > dtStart); + var dtEnd = dts[1].Trim().ObjectToDate(); + where = where.And(p => p.upDataTime < dtEnd); + } + else + { + var dt = upDataTime.ObjectToDate(); + where = where.And(p => p.upDataTime > dt); + } + } + //鍒涘缓浜� varchar + var createBy = Request.Form["createBy"].FirstOrDefault(); + if (!string.IsNullOrEmpty(createBy)) + { + where = where.And(p => p.createBy.Contains(createBy)); + } + //淇敼浜� varchar + var upDataBy = Request.Form["upDataBy"].FirstOrDefault(); + if (!string.IsNullOrEmpty(upDataBy)) + { + where = where.And(p => p.upDataBy.Contains(upDataBy)); + } + //鍒犻櫎鏍囧織 bit + var isdelete = Request.Form["isdelete"].FirstOrDefault(); + if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "true") + { + where = where.And(p => p.isdelete == true); + } + else if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "false") + { + where = where.And(p => p.isdelete == false); + } + //鑾峰彇鏁版嵁 + var list = await _PuhuoServices.QueryPageGroupAsync(where, orderEx, orderBy, pageCurrent, pageSize, true); + //杩斿洖鏁版嵁 + jm.data = list; + jm.code = 0; + jm.count = list.TotalCount; + jm.msg = "鏁版嵁璋冪敤鎴愬姛!"; + return jm; + } + #endregion + + #region 棣栭〉鏁版嵁============================================================ + // POST: Api/Puhuo/GetIndexGroup + /// <summary> + /// 棣栭〉鏁版嵁 + /// </summary> + /// <returns></returns> + [HttpPost] + [Description("棣栭〉鏁版嵁")] + public async Task<AdminUiCallBack> GetIndexGroup() + { + //杩斿洖鏁版嵁 + var jm = new AdminUiCallBack { code = 0 }; + + //鑾峰彇鍟嗗搧鍒嗙被 + var categories = await _coreCmsGoodsCategoryServices.QueryListByClauseAsync(p => p.isShow, p => p.sort, OrderByType.Asc, true, true); + + + + var categoriesnew = departmentRecursion(0, categories, "--"); + + + + + + + jm.data = new + { + + categories = categoriesnew//GoodsHelper.GetTree(categories,false), + + + }; + + return jm; + } + #endregion + + + + #region 鑾峰彇鍒楄〃============================================================ + // POST: Api/Puhuo/GetPageList + /// <summary> + /// 鑾峰彇鍒楄〃 + /// </summary> + /// <returns></returns> + [HttpPost] + [Description("鑾峰彇鍒楄〃")] + public async Task<AdminUiCallBack> GetPageList() + { + var jm = new AdminUiCallBack(); + var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1); + var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30); + var where = PredicateBuilder.True<Puhuo>(); + //鑾峰彇鎺掑簭瀛楁 + var orderField = Request.Form["orderField"].FirstOrDefault(); + + Expression<Func<Puhuo, object>> orderEx = orderField switch + { + "id" => p => p.id,"distributionId" => p => p.distributionId,"distributionName" => p => p.distributionName,"areaCode" => p => p.areaCode,"areaCodeName" => p => p.areaCodeName,"CategoryId" => p => p.CategoryId,"CategoryName" => p => p.CategoryName,"goodsId" => p => p.goodsId,"goodsName" => p => p.goodsName,"productsId" => p => p.productsId,"productsName" => p => p.productsName,"spesDesc" => p => p.spesDesc,"price" => p => p.price,"nums" => p => p.nums,"amount" => p => p.amount,"createTime" => p => p.createTime,"upDataTime" => p => p.upDataTime,"createBy" => p => p.createBy,"upDataBy" => p => p.upDataBy,"isdelete" => p => p.isdelete, + _ => p => p.id + }; + + //璁剧疆鎺掑簭鏂瑰紡 + var orderDirection = Request.Form["orderDirection"].FirstOrDefault(); + var orderBy = orderDirection switch + { + "asc" => OrderByType.Asc, + "desc" => OrderByType.Desc, + _ => OrderByType.Desc + }; + //鏌ヨ绛涢�� + + //涓婚敭ID int + var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0); + if (id > 0) + { + where = where.And(p => p.id == id); + } + //缁忛攢鍟唅d int + var distributionId = Request.Form["distributionId"].FirstOrDefault().ObjectToInt(0); + if (distributionId > 0) + { + where = where.And(p => p.distributionId == distributionId); + } + //缁忛攢鍟� varchar + var distributionName = Request.Form["distributionName"].FirstOrDefault(); + if (!string.IsNullOrEmpty(distributionName)) + { + where = where.And(p => p.distributionName.Contains(distributionName)); + } + //鍖哄煙 varchar + var sheng = Request.Form["sheng"].FirstOrDefault(); + if (!string.IsNullOrEmpty(sheng)) + { + where = where.And(p => p.areaCode.Contains(sheng)); + } + var shi = Request.Form["shi"].FirstOrDefault(); + if (!string.IsNullOrEmpty(shi)) + { + where = where.And(p => p.areaCode.Contains(shi)); + } + var quxian = Request.Form["quxian"].FirstOrDefault(); + if (!string.IsNullOrEmpty(quxian)) + { + where = where.And(p => p.areaCode.Contains(quxian)); + } + //鍖哄煙鍚嶇О varchar + var areaCodeName = Request.Form["areaCodeName"].FirstOrDefault(); + if (!string.IsNullOrEmpty(areaCodeName)) + { + where = where.And(p => p.areaCodeName.Contains(areaCodeName)); + } + //鍟嗗搧鍒嗙被id int + var CategoryId = Request.Form["CategoryId"].FirstOrDefault().ObjectToInt(0); + if (CategoryId > 0) + { + where = where.And(p => p.CategoryId == CategoryId); + } + //鍟嗗搧鍒嗙被 varchar + var CategoryName = Request.Form["CategoryName"].FirstOrDefault(); + if (!string.IsNullOrEmpty(CategoryName)) + { + where = where.And(p => p.CategoryName.Contains(CategoryName)); + } + //鍟嗗搧id int + var goodsId = Request.Form["goodsId"].FirstOrDefault().ObjectToInt(0); + if (goodsId > 0) + { + where = where.And(p => p.goodsId == goodsId); + } + //鍟嗗搧鍚嶇О varchar + var goodsName = Request.Form["goodsName"].FirstOrDefault(); + if (!string.IsNullOrEmpty(goodsName)) + { + where = where.And(p => p.goodsName.Contains(goodsName)); + } + //璐у搧id int + var productsId = Request.Form["productsId"].FirstOrDefault().ObjectToInt(0); + if (productsId > 0) + { + where = where.And(p => p.productsId == productsId); + } + //璐у搧缂栧彿 varchar + var productsName = Request.Form["productsName"].FirstOrDefault(); + if (!string.IsNullOrEmpty(productsName)) + { + where = where.And(p => p.productsName.Contains(productsName)); + } + //璐у搧瑙勬牸 varchar + var spesDesc = Request.Form["spesDesc"].FirstOrDefault(); + if (!string.IsNullOrEmpty(spesDesc)) + { + where = where.And(p => p.spesDesc.Contains(spesDesc)); + } + //璐у搧浠锋牸 decimal + var price = Request.Form["price"].FirstOrDefault().ObjectToDecimal(0); + if (price > 0) + { + where = where.And(p => p.price == price); + } + //鏁伴噺 int + var nums = Request.Form["nums"].FirstOrDefault().ObjectToInt(0); + if (nums > 0) + { + where = where.And(p => p.nums == nums); + } + //閲戦 decimal + var amount = Request.Form["amount"].FirstOrDefault().ObjectToDecimal(0); + if (amount > 0) + { + where = where.And(p => p.amount == amount); + } + //寤虹珛鏃堕棿 datetime + var createTime = Request.Form["createTime"].FirstOrDefault(); + if (!string.IsNullOrEmpty(createTime)) + { + if (createTime.Contains("鍒�")) + { + var dts = createTime.Split("鍒�"); + var dtStart = dts[0].Trim().ObjectToDate(); + where = where.And(p => p.createTime > dtStart); + var dtEnd = dts[1].Trim().ObjectToDate(); + where = where.And(p => p.createTime < dtEnd); + } + else + { + var dt = createTime.ObjectToDate(); + where = where.And(p => p.createTime > dt); + } + } + //淇敼鏃堕棿 datetime + var upDataTime = Request.Form["upDataTime"].FirstOrDefault(); + if (!string.IsNullOrEmpty(upDataTime)) + { + if (upDataTime.Contains("鍒�")) + { + var dts = upDataTime.Split("鍒�"); + var dtStart = dts[0].Trim().ObjectToDate(); + where = where.And(p => p.upDataTime > dtStart); + var dtEnd = dts[1].Trim().ObjectToDate(); + where = where.And(p => p.upDataTime < dtEnd); + } + else + { + var dt = upDataTime.ObjectToDate(); + where = where.And(p => p.upDataTime > dt); + } + } + //鍒涘缓浜� varchar + var createBy = Request.Form["createBy"].FirstOrDefault(); + if (!string.IsNullOrEmpty(createBy)) + { + where = where.And(p => p.createBy.Contains(createBy)); + } + //淇敼浜� varchar + var upDataBy = Request.Form["upDataBy"].FirstOrDefault(); + if (!string.IsNullOrEmpty(upDataBy)) + { + where = where.And(p => p.upDataBy.Contains(upDataBy)); + } + //鍒犻櫎鏍囧織 bit + var isdelete = Request.Form["isdelete"].FirstOrDefault(); + if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "true") + { + where = where.And(p => p.isdelete == true); + } + else if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "false") + { + where = where.And(p => p.isdelete == false); + } + //鑾峰彇鏁版嵁 + var list = await _PuhuoServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true); + //杩斿洖鏁版嵁 + jm.data = list; + jm.code = 0; + jm.count = list.TotalCount; + jm.msg = "鏁版嵁璋冪敤鎴愬姛!"; + return jm; + } + #endregion + + #region 棣栭〉鏁版嵁============================================================ + // POST: Api/Puhuo/GetIndex + /// <summary> + /// 棣栭〉鏁版嵁 + /// </summary> + /// <returns></returns> + [HttpPost] + [Description("棣栭〉鏁版嵁")] + public async Task<AdminUiCallBack> GetIndex() + { + //杩斿洖鏁版嵁 + var jm = new AdminUiCallBack { code = 0 }; + + var shi = await _areaServices.QueryListByClauseAsync(p => p.parentId == 0 );//510000 + + var sss = shi.Where(x => x.id == 510000).FirstOrDefault(); + + + if (shi.Remove(sss)) + { + shi.Insert(0, sss); + } + jm.data = shi; + + return jm; + } + #endregion + + #region 鍒涘缓鏁版嵁============================================================ + // POST: Api/Puhuo/GetCreate + /// <summary> + /// 鍒涘缓鏁版嵁 + /// </summary> + /// <returns></returns> + [HttpPost] + [Description("鍒涘缓鏁版嵁")] + public async Task<AdminUiCallBack> GetCreate() + { + //杩斿洖鏁版嵁 + var jm = new AdminUiCallBack { code = 0 }; + + //鑾峰彇鍟嗗搧鍒嗙被 + var categories = await _coreCmsGoodsCategoryServices.QueryListByClauseAsync(p => p.isShow, p => p.sort, OrderByType.Asc, true, true); + + var distributions = await _coreCmsDistributionServices.QueryListByClauseAsync(p => p.isDelete == false && p.verifyStatus == 1, p => p.createTime, OrderByType.Desc, true, true); + + var categoriesnew = departmentRecursion(0, categories,"--"); + + + + + + + jm.data = new + { + + categories = categoriesnew,//GoodsHelper.GetTree(categories,false), + distributions = distributions, + + }; + + return jm; + } + + + #region 閫夋嫨鍟嗗搧鍒嗙被============================================================ + // POST: Api/CoreCmsPlanOrder/GetIndex + /// <summary> + /// 閫夋嫨甯� + /// </summary> + /// <returns></returns> + [Description("閫夋嫨鍟嗗搧鍒嗙被")] + [AllowAnonymous] + public async Task<AdminUiCallBack> Getshangpfenlei(int fenleiid = 0) + { + //杩斿洖鏁版嵁 + var jm = new AdminUiCallBack { code = 0 }; + + var goodsCategoryId = fenleiid; + + var coreCmsGoods = await _coreCmsGoodsServices.QueryListByClauseAsync(x => x.isMarketable == true && x.isDel == false, x => x.sort, OrderByType.Asc); + if (goodsCategoryId > 0) + { + + //鑾峰彇鍏ㄩ儴鏁版嵁缂撳瓨 + var categories = await _coreCmsGoodsCategoryServices.QueryAsync(true, true); + var ids = GoodsHelper.GetChildIds(categories, goodsCategoryId); + + //鎵╁睍鍒嗙被 + var extends = await _goodsCategoryExtendServices.QueryListByClauseAsync(p => p.goodsCategroyId == goodsCategoryId); + if (extends.Any()) + { + var extGoodIds = extends.Select(p => p.goodsId).ToList(); + coreCmsGoods = coreCmsGoods.Where(p => ids.Contains(p.goodsCategoryId) || extGoodIds.Contains(p.id)).ToList(); + } + else + { + coreCmsGoods = coreCmsGoods.Where(p => ids.Contains(p.goodsCategoryId)).ToList(); + } + } + + + jm.data = coreCmsGoods; + + return jm; + } + #endregion + + + #region 閫夋嫨鍟嗗搧============================================================ + // POST: Api/CoreCmsPlanOrder/GetIndex + /// <summary> + /// 閫夋嫨甯� + /// </summary> + /// <returns></returns> + [Description("閫夋嫨鍟嗗搧")] + [AllowAnonymous] + public async Task<AdminUiCallBack> Gethuopin(int shangpinid = 0) + { + //杩斿洖鏁版嵁 + var jm = new AdminUiCallBack { code = 0 }; + + var coreCmsProducts = await _coreCmsProductsServices.QueryListByClauseAsync(x => x.goodsId == shangpinid && x.marketable == true && x.isDel == false); + + + + + jm.data = coreCmsProducts; + + return jm; + } + #endregion + + + private List<CoreCmsGoodsCategory> departmentRecursion(int Superior, List<CoreCmsGoodsCategory> obj,string ceshu) + { + List<CoreCmsGoodsCategory> hrDepts = new List<CoreCmsGoodsCategory>(); + List<CoreCmsGoodsCategory> temp = new List<CoreCmsGoodsCategory>(); + + for (int i = 0; i < obj.Count; i++) + { + if (obj[i].parentId == Superior) + { + hrDepts.Add(obj[i]); + temp = departmentRecursion(obj[i].id, obj, ceshu+"--"); + if (temp.Count > 0) + { + for (int j = 0; j < temp.Count; j++) + { + temp[j].name = ceshu + temp[j].name; + hrDepts.Add(temp[j]); + + } + } + } + } + + return hrDepts; + } + #endregion + + #region 鍒涘缓鎻愪氦============================================================ + // POST: Api/Puhuo/DoCreate + /// <summary> + /// 鍒涘缓鎻愪氦 + /// </summary> + /// <param name="entity"></param> + /// <returns></returns> + [HttpPost] + [Description("鍒涘缓鎻愪氦")] + public async Task<AdminUiCallBack> DoCreate([FromBody] Puhuo entity) + { + var jm = new AdminUiCallBack(); + if (entity.distributionId <= 0) + { + jm.msg = "璇烽�夋嫨缁忛攢鍟�"; + return jm; + + + } + if (entity.productsId <= 0) + { + jm.msg = "璇烽�夋嫨璐у搧"; + return jm; + + + } + + if (entity.nums <= 0) + { + jm.msg = "璇峰~鍐欐暟閲�"; + return jm; + } + + var puhuos = await _PuhuoServices.QueryListByClauseAsync(x => x.isdelete == false && x.productsId == entity.productsId && x.distributionId == entity.distributionId); + if (puhuos!=null && puhuos.Count>0) + { + jm.msg = "宸叉湁缁忛攢鍟嗚揣鍝佽褰曪紝涓嶈兘娣诲姞锛�"; + return jm; + } + var distributions = await _coreCmsDistributionServices.QueryByIdAsync(entity.distributionId); + if (distributions != null) + { + entity.distributionName = distributions.name; + entity.areaCode = distributions.areaCode; + var d = await _coreCmsAreaServices.GetAreaFullName(entity.areaCode?.Split(",").ToList().OrderDescending()?.FirstOrDefault()?.ToInt32OrDefault(0) ?? 0); + if (d.status == true) + { + entity.areaCodeName = d.data.ToString(); + } + + } + + var coreCmsProduct = await _coreCmsProductsServices.QueryByIdAsync(entity.productsId); + if (coreCmsProduct != null) + { + if (coreCmsProduct.stock < entity.nums) + { + jm.msg = "搴撳瓨涓嶈冻锛�"; + return jm; + } + + entity.productsName = coreCmsProduct.sn; + entity.spesDesc = coreCmsProduct.spesDesc; + entity.goodsId = coreCmsProduct.goodsId; + var coreCmsGood = await _coreCmsGoodsServices.QueryByIdAsync(coreCmsProduct.goodsId); + if (coreCmsGood != null) + { + entity.goodsName = coreCmsGood.name; + entity.CategoryId = coreCmsGood.goodsCategoryId; + //鑾峰彇鍏ㄩ儴鏁版嵁缂撳瓨 + var categorie = await _coreCmsGoodsCategoryServices.QueryByIdAsync(coreCmsGood.goodsCategoryId); + if (categorie != null) + { + entity.CategoryName = categorie.name; + } + } + entity.price = coreCmsProduct.distributionPrice; + entity.amount = coreCmsProduct.distributionPrice * new decimal(entity.nums); + } + else + { + jm.msg = "娌℃壘鍒颁骇鍝�"; + return jm; + } + + + entity.isdelete = false; + entity.createBy = _user.Name; + entity.upDataBy = _user.Name; + entity.createTime = DateTime.Now; + entity.upDataTime = entity.createTime; + + + + + coreCmsProduct.stock = coreCmsProduct.stock - entity.nums; + var bb = await _coreCmsProductsServices.UpdateAsync(coreCmsProduct); + + + + jm = await _PuhuoServices.InsertAsync(entity); + return jm; + } + #endregion + + + + + #region 缂栬緫鏁版嵁============================================================ + // POST: Api/Puhuo/GetEdit + /// <summary> + /// 缂栬緫鏁版嵁 + /// </summary> + /// <param name="entity"></param> + /// <returns></returns> + [HttpPost] + [Description("缂栬緫鏁版嵁")] + public async Task<AdminUiCallBack> GetEdit([FromBody]FMIntId entity) + { + var jm = new AdminUiCallBack(); + + var model = await _PuhuoServices.QueryByIdAsync(entity.id, false); + if (model == null) + { + jm.msg = "涓嶅瓨鍦ㄦ淇℃伅"; + return jm; + } + model.jintui = entity.jintui; + jm.code = 0; + jm.data = model; + + return jm; + } + #endregion + + #region 缂栬緫鎻愪氦============================================================ + // POST: Api/Puhuo/Edit + /// <summary> + /// 缂栬緫鎻愪氦 + /// </summary> + /// <param name="entity"></param> + /// <returns></returns> + [HttpPost] + [Description("缂栬緫鎻愪氦")] + public async Task<AdminUiCallBack> DoEdit([FromBody]Puhuo entity) + { + + var jm = new AdminUiCallBack(); + + + if (entity.tiaozhengnums <= 0) + { + jm.msg = "璇峰~鍐欒皟鏁存暟閲�"; + return jm; + } + + + + var puhuo = await _PuhuoServices.QueryByIdAsync(entity.id); + + if (entity.jintui == 2 && puhuo.nums < entity.tiaozhengnums) + { + jm.msg = "閫�璐ф暟閲忓ぇ浜庨摵璐ф暟閲忥紝涓嶈兘鎻愪氦"; + return jm; + } + + + + + var coreCmsProduct = await _coreCmsProductsServices.QueryByIdAsync(puhuo.productsId); + if (coreCmsProduct != null) + { + if (entity.jintui == 1 && coreCmsProduct.stock < entity.tiaozhengnums) + { + jm.msg = "搴撳瓨涓嶈冻锛�"; + return jm; + } + if (entity.jintui == 1) + { + puhuo.nums = puhuo.nums + entity.tiaozhengnums; + } + else if (entity.jintui == 2) + { + puhuo.nums = puhuo.nums - entity.tiaozhengnums; + } + puhuo.price = coreCmsProduct.distributionPrice; + puhuo.amount = coreCmsProduct.distributionPrice * new decimal(puhuo.nums); + } + else + { + jm.msg = "娌℃壘鍒颁骇鍝�"; + return jm; + } + + + puhuo.isdelete = false; + //entity.createBy = _user.Name; + puhuo.upDataBy = _user.Name; + //entity.createTime = DateTime.Now; + puhuo.upDataTime = DateTime.Now; + + + + if (entity.jintui == 1) + { + coreCmsProduct.stock = coreCmsProduct.stock - entity.tiaozhengnums; + } + else if (entity.jintui == 2) + { + coreCmsProduct.stock = coreCmsProduct.stock + entity.tiaozhengnums; + } + + var bb = await _coreCmsProductsServices.UpdateAsync(coreCmsProduct); + + + + jm = await _PuhuoServices.UpdateAsync(puhuo); + return jm; + } + #endregion + + #region 鍒犻櫎鏁版嵁============================================================ + // POST: Api/Puhuo/DoDelete/10 + /// <summary> + /// 鍗曢�夊垹闄� + /// </summary> + /// <param name="entity"></param> + /// <returns></returns> + [HttpPost] + [Description("鍗曢�夊垹闄�")] + public async Task<AdminUiCallBack> DoDelete([FromBody]FMIntId entity) + { + var jm = new AdminUiCallBack(); + + var model = await _PuhuoServices.ExistsAsync(p => p.id == entity.id, true); + if (!model) + { + jm.msg = GlobalConstVars.DataisNo; + return jm; + } + jm = await _PuhuoServices.DeleteByIdAsync(entity.id); + + return jm; + } + #endregion + + #region 鎵归噺鍒犻櫎============================================================ + // POST: Api/Puhuo/DoBatchDelete/10,11,20 + /// <summary> + /// 鎵归噺鍒犻櫎 + /// </summary> + /// <param name="entity"></param> + /// <returns></returns> + [HttpPost] + [Description("鎵归噺鍒犻櫎")] + public async Task<AdminUiCallBack> DoBatchDelete([FromBody]FMArrayIntIds entity) + { + var jm = await _PuhuoServices.DeleteByIdsAsync(entity.id); + return jm; + } + + #endregion + + #region 棰勮鏁版嵁============================================================ + // POST: Api/Puhuo/GetDetails/10 + /// <summary> + /// 棰勮鏁版嵁 + /// </summary> + /// <param name="entity"></param> + /// <returns></returns> + [HttpPost] + [Description("棰勮鏁版嵁")] + public async Task<AdminUiCallBack> GetDetails([FromBody]FMIntId entity) + { + var jm = new AdminUiCallBack(); + var puhuoss = await _PuhuoServices.QueryListByClauseAsync(p => p.productsId == entity.productsId); + //var model = await _PuhuoServices.QueryByIdAsync(entity.id, false); + //if (model == null) + //{ + // jm.msg = "涓嶅瓨鍦ㄦ淇℃伅"; + // return jm; + //} + jm.code = 0; + + jm.data = new + { + + model = new Puhuo(),//GoodsHelper.GetTree(categories,false), + puhuos = puhuoss, + + }; + + return jm; + } + #endregion + + #region 閫夋嫨瀵煎嚭============================================================ + // POST: Api/Puhuo/SelectExportExcel/10 + /// <summary> + /// 閫夋嫨瀵煎嚭 + /// </summary> + /// <param name="entity"></param> + /// <returns></returns> + [HttpPost] + [Description("閫夋嫨瀵煎嚭")] + public async Task<AdminUiCallBack> SelectExportExcel([FromBody]FMArrayIntIds entity) + { + var jm = new AdminUiCallBack(); + + //鍒涘缓Excel鏂囦欢鐨勫璞� + var book = new HSSFWorkbook(); + //娣诲姞涓�涓猻heet + var mySheet = book.CreateSheet("Sheet1"); + //鑾峰彇list鏁版嵁 + var listModel = await _PuhuoServices.QueryListByClauseAsync(p => entity.id.Contains(p.id), p => p.id, OrderByType.Asc, true); + //缁檚heet1娣诲姞绗竴琛岀殑澶撮儴鏍囬 + var headerRow = mySheet.CreateRow(0); + var headerStyle = ExcelHelper.GetHeaderStyle(book); + var cellNum = 0; + + var cell0 = headerRow.CreateCell(cellNum); + cell0.SetCellValue("涓婚敭ID"); + cell0.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell1 = headerRow.CreateCell(cellNum); + cell1.SetCellValue("缁忛攢鍟唅d"); + cell1.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell2 = headerRow.CreateCell(cellNum); + cell2.SetCellValue("缁忛攢鍟�"); + cell2.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell3 = headerRow.CreateCell(cellNum); + 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("鍟嗗搧鍒嗙被id"); + cell5.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell6 = headerRow.CreateCell(cellNum); + cell6.SetCellValue("鍟嗗搧鍒嗙被"); + cell6.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell7 = headerRow.CreateCell(cellNum); + cell7.SetCellValue("鍟嗗搧id"); + cell7.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell8 = headerRow.CreateCell(cellNum); + cell8.SetCellValue("鍟嗗搧鍚嶇О"); + cell8.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell9 = headerRow.CreateCell(cellNum); + cell9.SetCellValue("璐у搧id"); + cell9.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell10 = headerRow.CreateCell(cellNum); + cell10.SetCellValue("璐у搧缂栧彿"); + cell10.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell11 = headerRow.CreateCell(cellNum); + cell11.SetCellValue("璐у搧瑙勬牸"); + cell11.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell12 = headerRow.CreateCell(cellNum); + cell12.SetCellValue("璐у搧浠锋牸"); + cell12.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell13 = headerRow.CreateCell(cellNum); + 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++; + + var cell17 = headerRow.CreateCell(cellNum); + cell17.SetCellValue("鍒涘缓浜�"); + cell17.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell18 = headerRow.CreateCell(cellNum); + cell18.SetCellValue("淇敼浜�"); + cell18.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell19 = headerRow.CreateCell(cellNum); + cell19.SetCellValue("鍒犻櫎鏍囧織"); + cell19.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + headerRow.Height = 30 * 20; + var commonCellStyle = ExcelHelper.GetCommonStyle(book); + + //灏嗘暟鎹�愭鍐欏叆sheet1鍚勪釜琛� + for (var i = 0; i < listModel.Count; i++) + { + var rowTemp = mySheet.CreateRow(i + 1); + var cellNumTemp = 0; + + var rowTemp0 = rowTemp.CreateCell(cellNumTemp); + rowTemp0.SetCellValue(listModel[i].id.ToString()); + rowTemp0.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp1 = rowTemp.CreateCell(cellNumTemp); + rowTemp1.SetCellValue(listModel[i].distributionId.ToString()); + rowTemp1.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp2 = rowTemp.CreateCell(cellNumTemp); + rowTemp2.SetCellValue(listModel[i].distributionName.ToString()); + rowTemp2.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp3 = rowTemp.CreateCell(cellNumTemp); + rowTemp3.SetCellValue(listModel[i].areaCode.ToString()); + rowTemp3.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp4 = rowTemp.CreateCell(cellNumTemp); + rowTemp4.SetCellValue(listModel[i].areaCodeName.ToString()); + rowTemp4.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp5 = rowTemp.CreateCell(cellNumTemp); + rowTemp5.SetCellValue(listModel[i].CategoryId.ToString()); + rowTemp5.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp6 = rowTemp.CreateCell(cellNumTemp); + rowTemp6.SetCellValue(listModel[i].CategoryName.ToString()); + rowTemp6.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp7 = rowTemp.CreateCell(cellNumTemp); + rowTemp7.SetCellValue(listModel[i].goodsId.ToString()); + rowTemp7.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp8 = rowTemp.CreateCell(cellNumTemp); + rowTemp8.SetCellValue(listModel[i].goodsName.ToString()); + rowTemp8.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp9 = rowTemp.CreateCell(cellNumTemp); + rowTemp9.SetCellValue(listModel[i].productsId.ToString()); + rowTemp9.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp10 = rowTemp.CreateCell(cellNumTemp); + rowTemp10.SetCellValue(listModel[i].productsName.ToString()); + rowTemp10.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp11 = rowTemp.CreateCell(cellNumTemp); + rowTemp11.SetCellValue(listModel[i].spesDesc.ToString()); + rowTemp11.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp12 = rowTemp.CreateCell(cellNumTemp); + rowTemp12.SetCellValue(listModel[i].price.ToString()); + rowTemp12.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp13 = rowTemp.CreateCell(cellNumTemp); + rowTemp13.SetCellValue(listModel[i].nums.ToString()); + rowTemp13.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp14 = rowTemp.CreateCell(cellNumTemp); + rowTemp14.SetCellValue(listModel[i].amount.ToString()); + rowTemp14.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp15 = rowTemp.CreateCell(cellNumTemp); + rowTemp15.SetCellValue(listModel[i].createTime.ToString()); + rowTemp15.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp16 = rowTemp.CreateCell(cellNumTemp); + rowTemp16.SetCellValue(listModel[i].upDataTime.ToString()); + rowTemp16.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp17 = rowTemp.CreateCell(cellNumTemp); + rowTemp17.SetCellValue(listModel[i].createBy.ToString()); + rowTemp17.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp18 = rowTemp.CreateCell(cellNumTemp); + rowTemp18.SetCellValue(listModel[i].upDataBy.ToString()); + rowTemp18.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp19 = rowTemp.CreateCell(cellNumTemp); + rowTemp19.SetCellValue(listModel[i].isdelete.ToString()); + rowTemp19.CellStyle = commonCellStyle; + cellNumTemp++; + + } + // 瀵煎嚭excel + string webRootPath = _webHostEnvironment.WebRootPath; + string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/"; + string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-Puhuo瀵煎嚭(閫夋嫨缁撴灉).xls"; + string filePath = webRootPath + tpath; + DirectoryInfo di = new DirectoryInfo(filePath); + if (!di.Exists) + { + di.Create(); + } + FileStream fileHssf = new FileStream(filePath + fileName, FileMode.Create); + book.Write(fileHssf); + fileHssf.Close(); + + jm.code = 0; + jm.msg = GlobalConstVars.ExcelExportSuccess; + jm.data = tpath + fileName; + + return jm; + } + #endregion + + #region 鏌ヨ瀵煎嚭============================================================ + // POST: Api/Puhuo/QueryExportExcel/10 + /// <summary> + /// 鏌ヨ瀵煎嚭 + /// </summary> + /// <returns></returns> + [HttpPost] + [Description("鏌ヨ瀵煎嚭")] + public async Task<AdminUiCallBack> QueryExportExcel() + { + var jm = new AdminUiCallBack(); + + var where = PredicateBuilder.True<Puhuo>(); + //鏌ヨ绛涢�� + + //涓婚敭ID int + var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0); + if (id > 0) + { + where = where.And(p => p.id == id); + } + //缁忛攢鍟唅d int + var distributionId = Request.Form["distributionId"].FirstOrDefault().ObjectToInt(0); + if (distributionId > 0) + { + where = where.And(p => p.distributionId == distributionId); + } + //缁忛攢鍟� varchar + var distributionName = Request.Form["distributionName"].FirstOrDefault(); + if (!string.IsNullOrEmpty(distributionName)) + { + where = where.And(p => p.distributionName.Contains(distributionName)); + } + //鍖哄煙 varchar + var areaCode = Request.Form["areaCode"].FirstOrDefault(); + if (!string.IsNullOrEmpty(areaCode)) + { + where = where.And(p => p.areaCode.Contains(areaCode)); + } + //鍖哄煙鍚嶇О varchar + var areaCodeName = Request.Form["areaCodeName"].FirstOrDefault(); + if (!string.IsNullOrEmpty(areaCodeName)) + { + where = where.And(p => p.areaCodeName.Contains(areaCodeName)); + } + //鍟嗗搧鍒嗙被id int + var CategoryId = Request.Form["CategoryId"].FirstOrDefault().ObjectToInt(0); + if (CategoryId > 0) + { + where = where.And(p => p.CategoryId == CategoryId); + } + //鍟嗗搧鍒嗙被 varchar + var CategoryName = Request.Form["CategoryName"].FirstOrDefault(); + if (!string.IsNullOrEmpty(CategoryName)) + { + where = where.And(p => p.CategoryName.Contains(CategoryName)); + } + //鍟嗗搧id int + var goodsId = Request.Form["goodsId"].FirstOrDefault().ObjectToInt(0); + if (goodsId > 0) + { + where = where.And(p => p.goodsId == goodsId); + } + //鍟嗗搧鍚嶇О varchar + var goodsName = Request.Form["goodsName"].FirstOrDefault(); + if (!string.IsNullOrEmpty(goodsName)) + { + where = where.And(p => p.goodsName.Contains(goodsName)); + } + //璐у搧id int + var productsId = Request.Form["productsId"].FirstOrDefault().ObjectToInt(0); + if (productsId > 0) + { + where = where.And(p => p.productsId == productsId); + } + //璐у搧缂栧彿 varchar + var productsName = Request.Form["productsName"].FirstOrDefault(); + if (!string.IsNullOrEmpty(productsName)) + { + where = where.And(p => p.productsName.Contains(productsName)); + } + //璐у搧瑙勬牸 varchar + var spesDesc = Request.Form["spesDesc"].FirstOrDefault(); + if (!string.IsNullOrEmpty(spesDesc)) + { + where = where.And(p => p.spesDesc.Contains(spesDesc)); + } + //璐у搧浠锋牸 decimal + var price = Request.Form["price"].FirstOrDefault().ObjectToDecimal(0); + if (price > 0) + { + where = where.And(p => p.price == price); + } + //鏁伴噺 int + var nums = Request.Form["nums"].FirstOrDefault().ObjectToInt(0); + if (nums > 0) + { + where = where.And(p => p.nums == nums); + } + //閲戦 decimal + var amount = Request.Form["amount"].FirstOrDefault().ObjectToDecimal(0); + if (amount > 0) + { + where = where.And(p => p.amount == amount); + } + //寤虹珛鏃堕棿 datetime + var createTime = Request.Form["createTime"].FirstOrDefault(); + if (!string.IsNullOrEmpty(createTime)) + { + if (createTime.Contains("鍒�")) + { + var dts = createTime.Split("鍒�"); + var dtStart = dts[0].Trim().ObjectToDate(); + where = where.And(p => p.createTime > dtStart); + var dtEnd = dts[1].Trim().ObjectToDate(); + where = where.And(p => p.createTime < dtEnd); + } + else + { + var dt = createTime.ObjectToDate(); + where = where.And(p => p.createTime > dt); + } + } + //淇敼鏃堕棿 datetime + var upDataTime = Request.Form["upDataTime"].FirstOrDefault(); + if (!string.IsNullOrEmpty(upDataTime)) + { + if (upDataTime.Contains("鍒�")) + { + var dts = upDataTime.Split("鍒�"); + var dtStart = dts[0].Trim().ObjectToDate(); + where = where.And(p => p.upDataTime > dtStart); + var dtEnd = dts[1].Trim().ObjectToDate(); + where = where.And(p => p.upDataTime < dtEnd); + } + else + { + var dt = upDataTime.ObjectToDate(); + where = where.And(p => p.upDataTime > dt); + } + } + //鍒涘缓浜� varchar + var createBy = Request.Form["createBy"].FirstOrDefault(); + if (!string.IsNullOrEmpty(createBy)) + { + where = where.And(p => p.createBy.Contains(createBy)); + } + //淇敼浜� varchar + var upDataBy = Request.Form["upDataBy"].FirstOrDefault(); + if (!string.IsNullOrEmpty(upDataBy)) + { + where = where.And(p => p.upDataBy.Contains(upDataBy)); + } + //鍒犻櫎鏍囧織 bit + var isdelete = Request.Form["isdelete"].FirstOrDefault(); + if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "true") + { + where = where.And(p => p.isdelete == true); + } + else if (!string.IsNullOrEmpty(isdelete) && isdelete.ToLowerInvariant() == "false") + { + where = where.And(p => p.isdelete == false); + } + //鑾峰彇鏁版嵁 + //鍒涘缓Excel鏂囦欢鐨勫璞� + var book = new HSSFWorkbook(); + //娣诲姞涓�涓猻heet + var mySheet = book.CreateSheet("Sheet1"); + //鑾峰彇list鏁版嵁 + var listModel = await _PuhuoServices.QueryListByClauseAsync(where, p => p.id, OrderByType.Asc, true); + //缁檚heet1娣诲姞绗竴琛岀殑澶撮儴鏍囬 + var headerRow = mySheet.CreateRow(0); + var headerStyle = ExcelHelper.GetHeaderStyle(book); + var cellNum = 0; + + var cell0 = headerRow.CreateCell(cellNum); + cell0.SetCellValue("涓婚敭ID"); + cell0.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell1 = headerRow.CreateCell(cellNum); + cell1.SetCellValue("缁忛攢鍟唅d"); + cell1.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell2 = headerRow.CreateCell(cellNum); + cell2.SetCellValue("缁忛攢鍟�"); + cell2.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell3 = headerRow.CreateCell(cellNum); + 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("鍟嗗搧鍒嗙被id"); + cell5.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell6 = headerRow.CreateCell(cellNum); + cell6.SetCellValue("鍟嗗搧鍒嗙被"); + cell6.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell7 = headerRow.CreateCell(cellNum); + cell7.SetCellValue("鍟嗗搧id"); + cell7.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell8 = headerRow.CreateCell(cellNum); + cell8.SetCellValue("鍟嗗搧鍚嶇О"); + cell8.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell9 = headerRow.CreateCell(cellNum); + cell9.SetCellValue("璐у搧id"); + cell9.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell10 = headerRow.CreateCell(cellNum); + cell10.SetCellValue("璐у搧缂栧彿"); + cell10.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell11 = headerRow.CreateCell(cellNum); + cell11.SetCellValue("璐у搧瑙勬牸"); + cell11.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell12 = headerRow.CreateCell(cellNum); + cell12.SetCellValue("璐у搧浠锋牸"); + cell12.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell13 = headerRow.CreateCell(cellNum); + 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++; + + var cell17 = headerRow.CreateCell(cellNum); + cell17.SetCellValue("鍒涘缓浜�"); + cell17.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell18 = headerRow.CreateCell(cellNum); + cell18.SetCellValue("淇敼浜�"); + cell18.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + var cell19 = headerRow.CreateCell(cellNum); + cell19.SetCellValue("鍒犻櫎鏍囧織"); + cell19.CellStyle = headerStyle; + mySheet.SetColumnWidth(cellNum, 10 * 256); + cellNum++; + + + headerRow.Height = 30 * 20; + var commonCellStyle = ExcelHelper.GetCommonStyle(book); + + //灏嗘暟鎹�愭鍐欏叆sheet1鍚勪釜琛� + for (var i = 0; i < listModel.Count; i++) + { + var rowTemp = mySheet.CreateRow(i + 1); + var cellNumTemp = 0; + + var rowTemp0 = rowTemp.CreateCell(cellNumTemp); + rowTemp0.SetCellValue(listModel[i].id.ToString()); + rowTemp0.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp1 = rowTemp.CreateCell(cellNumTemp); + rowTemp1.SetCellValue(listModel[i].distributionId.ToString()); + rowTemp1.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp2 = rowTemp.CreateCell(cellNumTemp); + rowTemp2.SetCellValue(listModel[i].distributionName.ToString()); + rowTemp2.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp3 = rowTemp.CreateCell(cellNumTemp); + rowTemp3.SetCellValue(listModel[i].areaCode.ToString()); + rowTemp3.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp4 = rowTemp.CreateCell(cellNumTemp); + rowTemp4.SetCellValue(listModel[i].areaCodeName.ToString()); + rowTemp4.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp5 = rowTemp.CreateCell(cellNumTemp); + rowTemp5.SetCellValue(listModel[i].CategoryId.ToString()); + rowTemp5.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp6 = rowTemp.CreateCell(cellNumTemp); + rowTemp6.SetCellValue(listModel[i].CategoryName.ToString()); + rowTemp6.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp7 = rowTemp.CreateCell(cellNumTemp); + rowTemp7.SetCellValue(listModel[i].goodsId.ToString()); + rowTemp7.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp8 = rowTemp.CreateCell(cellNumTemp); + rowTemp8.SetCellValue(listModel[i].goodsName.ToString()); + rowTemp8.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp9 = rowTemp.CreateCell(cellNumTemp); + rowTemp9.SetCellValue(listModel[i].productsId.ToString()); + rowTemp9.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp10 = rowTemp.CreateCell(cellNumTemp); + rowTemp10.SetCellValue(listModel[i].productsName.ToString()); + rowTemp10.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp11 = rowTemp.CreateCell(cellNumTemp); + rowTemp11.SetCellValue(listModel[i].spesDesc.ToString()); + rowTemp11.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp12 = rowTemp.CreateCell(cellNumTemp); + rowTemp12.SetCellValue(listModel[i].price.ToString()); + rowTemp12.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp13 = rowTemp.CreateCell(cellNumTemp); + rowTemp13.SetCellValue(listModel[i].nums.ToString()); + rowTemp13.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp14 = rowTemp.CreateCell(cellNumTemp); + rowTemp14.SetCellValue(listModel[i].amount.ToString()); + rowTemp14.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp15 = rowTemp.CreateCell(cellNumTemp); + rowTemp15.SetCellValue(listModel[i].createTime.ToString()); + rowTemp15.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp16 = rowTemp.CreateCell(cellNumTemp); + rowTemp16.SetCellValue(listModel[i].upDataTime.ToString()); + rowTemp16.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp17 = rowTemp.CreateCell(cellNumTemp); + rowTemp17.SetCellValue(listModel[i].createBy.ToString()); + rowTemp17.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp18 = rowTemp.CreateCell(cellNumTemp); + rowTemp18.SetCellValue(listModel[i].upDataBy.ToString()); + rowTemp18.CellStyle = commonCellStyle; + cellNumTemp++; + + var rowTemp19 = rowTemp.CreateCell(cellNumTemp); + rowTemp19.SetCellValue(listModel[i].isdelete.ToString()); + rowTemp19.CellStyle = commonCellStyle; + cellNumTemp++; + + } + // 鍐欏叆鍒癳xcel + string webRootPath = _webHostEnvironment.WebRootPath; + string tpath = "/files/" + DateTime.Now.ToString("yyyy-MM-dd") + "/"; + string fileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "-Puhuo瀵煎嚭(鏌ヨ缁撴灉).xls"; + string filePath = webRootPath + tpath; + DirectoryInfo di = new DirectoryInfo(filePath); + if (!di.Exists) + { + di.Create(); + } + FileStream fileHssf = new FileStream(filePath + fileName, FileMode.Create); + book.Write(fileHssf); + fileHssf.Close(); + + jm.code = 0; + jm.msg = GlobalConstVars.ExcelExportSuccess; + jm.data = tpath + fileName; + + return jm; + } + #endregion + + + #region 璁剧疆鍒犻櫎鏍囧織============================================================ + // POST: Api/Puhuo/DoSetisdelete/10 + /// <summary> + /// 璁剧疆鍒犻櫎鏍囧織 + /// </summary> + /// <param name="entity"></param> + /// <returns></returns> + [HttpPost] + [Description("璁剧疆鍒犻櫎鏍囧織")] + public async Task<AdminUiCallBack> DoSetisdelete([FromBody]FMUpdateBoolDataByIntId entity) + { + var jm = new AdminUiCallBack(); + + var oldModel = await _PuhuoServices.QueryByIdAsync(entity.id, false); + if (oldModel == null) + { + jm.msg = "涓嶅瓨鍦ㄦ淇℃伅"; + return jm; + } + oldModel.isdelete = (bool)entity.data; + + var bl = await _PuhuoServices.UpdateAsync(p => new Puhuo() { isdelete = oldModel.isdelete }, p => p.id == oldModel.id); + jm.code = bl ? 0 : 1; + jm.msg = bl ? GlobalConstVars.EditSuccess : GlobalConstVars.EditFailure; + + return jm; + } + #endregion + + + } +} -- Gitblit v1.9.1