using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using HH.WMS.BLL; using HH.WMS.BLL.Basic; using HH.WMS.Common; using HH.WMS.Entitys; using HH.WMS.WebApi.Areas.Common.Controllers; using HH.WMS.Entitys.Sys; using HH.WMS.Entitys.Common; using HH.WMS.Entitys.Basic; using HH.WMS.Entitys.Algorithm; using Newtonsoft.Json; namespace HH.WMS.WebApi.Areas.Basic { public class CommonController : BaseController { #region 获取定义的编码 /// /// 获取定义的编码 /// /// 编号名 /// public OperateResult GenBillNo(string ruleName) { return ValidateToken(x => { return this.GetCode(x, ruleName); }); } #endregion #region 物料列表-分页 /// /// 物料列表-分页 /// /// /// /// [HttpPost] public OperateResult ItemList(SearchModel searchModel) { return ValidateToken(searchModel.TokenId, x => { try { int total; var list = BLLCreator.Create().GetItemList(searchModel, out total); return OperateResult.Succeed(null, new { rows = list, total = total }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } }); } /// /// 物料列表-分页 /// /// /// /// [HttpGet] public OperateResult GetListItemByCode(string itemCode, string itemName, string model, int pageIndex, int pageSize) { try { OperateResult result = new OperateResult(); int total; List list = BLLCreator.Create().GetListItemByCode(itemCode, itemName, model, pageIndex, pageSize, out total); //foreach (AutoBomItemEntity entity in list) //{ // entity.CN_S_MODEL = entity.CN_S_MODEL.Replace("\"", "'"); //} result = OperateResult.Succeed(null, new { rows = list, total = total }); return result; } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 客户列表-分页 /// /// 客户列表-分页 /// /// /// /// [HttpPost] public OperateResult CustomList(SearchModel searchModel) { try { return ValidateToken(searchModel.TokenId, x => { int total; var list = BLLCreator.Create().GetCustomList(searchModel, out total); return OperateResult.Succeed(null, new { rows = list, total = total }); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 仓库列表 [HttpGet] public OperateResult NoTokenStockList() { try { if (SysCache.Stock == null || SysCache.Stock.Count == 0) SysCache.Stock = BLLCreator.Create().GetStockList(); return OperateResult.Succeed(null, SysCache.Stock); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } /// /// 仓库列表 /// /// [HttpGet] public OperateResult StockList() { try { return ValidateToken(x => { //if (SysCache.Stock == null || SysCache.Stock.Count == 0) SysCache.Stock = BLLCreator.Create().GetStockList(); return OperateResult.Succeed(null, SysCache.Stock); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 库区列表 /// /// 库区列表 /// /// [HttpGet] public OperateResult GetAreaList(int pageIndex, int pageSize, string areaName) { try { return ValidateToken(x => { int total; List result = BLLCreator.Create().GetAreaList(pageIndex, pageSize, areaName, out total); List newList = new List(); foreach (var entity in result) { if (SysCache.Stock == null || SysCache.Stock.Count == 0) SysCache.Stock = BLLCreator.Create().GetStockList(); entity.CN_S_STOCK_NAME = SysCache.Stock.Find(p => p.CN_S_STOCK_CODE == entity.CN_S_STOCK_CODE).CN_S_STOCK_NAME; newList.Add(entity); } return OperateResult.Succeed(null, new { rows = newList, total = total }); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #region (PDA)获取库区信息 /// /// 根据库区类型获取库区信息 /// /// 库区类型 /// /// [Hanhe(XDL)] created 2019/03/20 [HttpGet] public string GetStockArea(string areaType) { try { return ValidateToken(x => { List areaModel = BLLCreator.Create().GetListByStockArea(areaType); return JsonConvert.SerializeObject(OperateResult.Succeed("", areaModel)); }); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message)); } } /// /// 根据作业区类型获取库区列表 /// /// 作业区类型 /// [HttpGet] public string GetAreaByAreaClass(string areaClass) { try { return ValidateToken(x => { if (string.IsNullOrEmpty(areaClass)) { return JsonConvert.SerializeObject(OperateResult.Error("请提供作业区类型!")); } List areaModel = BLLCreator.Create().GetAreaByAreaClass(areaClass); return JsonConvert.SerializeObject(OperateResult.Succeed("", areaModel)); }); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message)); } } #endregion /// /// 库区和仓库列表 /// /// [HttpGet] public OperateResult GetStockAndAreaList(int pageIndex, int pageSize, string areaName) { try { return ValidateToken(x => { int total; List result = BLLCreator.Create().GetAreaList(pageIndex, pageSize, areaName, out total); List newList = new List(); List stockList = new List(); if (SysCache.Stock == null || SysCache.Stock.Count == 0) SysCache.Stock = BLLCreator.Create().GetStockList(); stockList = SysCache.Stock; foreach (var entity in stockList) { newList.Add(new AutoBomStockAreaEntity() { CN_S_AREA_CODE = "", CN_S_AREA_NAME = "", CN_S_STOCK_CODE = entity.CN_S_STOCK_CODE, CN_S_STOCK_NAME = entity.CN_S_STOCK_NAME }); } foreach (var entity in result) { if (SysCache.Stock.Find(p => p.CN_S_STOCK_CODE == entity.CN_S_STOCK_CODE) != null) { entity.CN_S_STOCK_NAME = SysCache.Stock.Find(p => p.CN_S_STOCK_CODE == entity.CN_S_STOCK_CODE).CN_S_STOCK_NAME; } newList.Add(entity); } return OperateResult.Succeed(null, new { rows = newList, total = total + stockList.Count }); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #region 库区列表 /// /// 库区列表 /// /// 包含库区类型 1:库区 2:作业区 3:逻辑分区 4:1+2 /// 仓库号 /// /// [Hanhe(DBS)] created by 2018/12/04 public OperateResult GetArea(string stockCode, int include) { return ValidateToken(x => { List areaList = BLLCreator.Create().GetArea(include, stockCode); return OperateResult.Succeed("", areaList); }); } #endregion /// /// 根据库区类型返回库区列表 /// /// 库区类型(1:库区,2:逻辑分区,4:作业区) /// tokenId /// [HttpGet] public OperateResult GetAreaListByType(string areaType) { try { return ValidateToken(x => { List areaList = BLLCreator.Create().GetAreaListByType(areaType); return OperateResult.Succeed(null, areaList); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 获取系统全部策略 /// /// 获取系统全部策略 /// /// [HttpGet] public OperateResult SysStrategyList() { try { return ValidateToken(x => { if (SysCache.SysStrategy == null || SysCache.SysStrategy.Count == 0) SysCache.SysStrategy = BLLCreator.Create>().GetList(); return OperateResult.Succeed(null, SysCache.SysStrategy); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 获取系统单个策略 /// /// 获取系统单个策略 /// /// [HttpGet] public OperateResult GetSysStrategy(string stockCode, string key) { try { return ValidateToken(m => { TN_WM_B_STRATEGY_VALUEEntity model = SysCache.SysStrategy.Find(x => x.CN_S_STOCK_CODE.Equals(stockCode) && x.CN_S_CODE.Equals(key)); if (model == null) { model = BLLCreator.Create>().GetSingleEntity(new { CN_S_STOCK_CODE = stockCode, CN_S_CODE = key }); if (model == null) { return OperateResult.Error("不存在该策略!"); } else { SysCache.SysStrategy.Add(model); } } return OperateResult.Succeed("", model); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 模糊匹配10条先 /// /// 模糊匹配10条先 /// /// /// [HttpGet] public OperateResult GetMatchItem(string key) { return ValidateToken(x => { try { var list = BLLCreator.Create().GetMatchItem(key); return OperateResult.Succeed(null, list); } catch (Exception ex) { return OperateResult.Error(ex.Message); } }); } #endregion #region 获取物流公司 /// /// 获取物流公司 /// /// [HttpGet] public OperateResult GetLogisticsCompany() { return ValidateToken(x => { try { var list = BLLCreator.Create>().GetList(); return OperateResult.Succeed(null, list); } catch (Exception ex) { return OperateResult.Error(ex.Message); } }); } #endregion #region 获取打印机 /// /// 获取打印机 /// /// [HttpGet] public OperateResult GetPrintTemplet(string stockCode, string templetType, string printer, string logistics) { return ValidateToken(t => { List list = new List(); //if (!templetType.Equals("物流单") || string.IsNullOrEmpty(logistics)) //{ list = BLLCreator.Create>().GetList(new { CN_S_STOCK_CODE = stockCode, CN_S_TEMPLET_TYPE = templetType, CN_S_PRINTER = printer }); //} //else //{ if (!string.IsNullOrEmpty(logistics)) { var s = BLLCreator.Create>().GetList(new { CN_S_LOGISTICS_FLAG = logistics }); list = list.FindAll(x => s.Select(y => y.CN_S_TEMPLET_NAME).Contains(x.CN_S_TEMPLET_NAME)); } //} if (string.IsNullOrEmpty(printer)) { list = list.Where(m => !string.IsNullOrEmpty(m.CN_S_PRINTER)) .GroupBy(x => x.CN_S_PRINTER) .Select(y => new TN_WM_PRINT_TEMPLETEntity { CN_S_PRINTER = y.Key }).ToList(); } return OperateResult.Succeed(null, list); }); } #endregion #region 获取打印模板 /// /// 获取打印模板 /// /// 仓库号 /// 模板类型 /// /// [Hanhe(dbs)] creater 2018-12-21 [HttpGet] public OperateResult GetPrintTypeTemplet(string stockCode, string templetType) { return ValidateToken(t => { var list = BLLCreator.Create>().GetList(new { CN_S_STOCK_CODE = stockCode, CN_S_TEMPLET_TYPE = templetType }); return OperateResult.Succeed(null, list); }); } #endregion #region 获取货主 /// /// 获取货主 /// /// [HttpGet] public OperateResult GetOwner() { return ValidateToken(t => { var list = BLLCreator.Create>().GetList(); return OperateResult.Succeed(null, list); }); } public OperateResult GetOwnerWithoutDefault() { return ValidateToken(t => { var list = BLLCreator.Create>().GetList(new { CN_B_DEFAULT = false }); return OperateResult.Succeed(null, list); }); } #endregion #region 客户地址 /// /// 客户地址 /// /// /// [HttpGet] public OperateResult GetCustomerAddress(string customCode) { return ValidateToken(t => { var result = BLLCreator.Create().GetCustomerAddress(customCode); return OperateResult.Succeed(null, result); }); } #endregion #region 默认地址 /// /// 默认地址 /// /// /// [HttpGet] public OperateResult GetDefaultAddress(string customCode) { return ValidateToken(t => { var result = BLLCreator.Create().GetDefaultAddress(customCode); return OperateResult.Succeed(null, result); }); } #endregion } }