using HH.WMS.BLL; using HH.WMS.BLL.Check; using HH.WMS.BLL.Common; using HH.WMS.Common; using HH.WMS.Common.Algorithm; using HH.WMS.Entitys; using HH.WMS.Entitys.Basic; using HH.WMS.Entitys.Check; using HH.WMS.Entitys.Common; using HH.WMS.WebApi.Areas.Common.Controllers; using Newtonsoft.Json; using Newtonsoft.Json.Converters; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; namespace HH.WMS.WebApi.Areas.Check.Controllers { public class CheckController : BaseController { #region 获取盘点主表分页 /// /// 获取盘点主表分页 /// /// /// /// [Hanhe(lt)] created by 2018-7-4 [HttpPost] public string GetDataTable(dynamic obj) { string tokenId = Util.ToString(obj.tokenId); return ValidateToken(tokenId, t => { DataTable dt = BLLCreator.Create().GetDataTable(obj); OperateResult res = OperateResult.Succeed(null, new { rows = dt, total = obj.PageCount }); IsoDateTimeConverter timeFormat = new IsoDateTimeConverter(); timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; return JsonConvert.SerializeObject(res, timeFormat); }); } #endregion #region 获取盘点单数据 public OperateResult GetModel(string opNo) { return ValidateToken(t => { TN_WM_CHECK_MSTEntity mst = BLLCreator.Create>().GetSingleEntity(new { CN_S_OP_NO = opNo }); mst.dtls = BLLCreator.Create>().GetList(new { CN_S_OP_NO = opNo }); return OperateResult.Succeed("", mst); }); } #endregion #region 获取盘点单子表 /// /// 获取盘点明细 /// /// /// /// [HanHe(lt)] CREATED 2018/12/6 /// [HanHe(dbs)] CREATED 2019/3/18 public OperateResult GetCheckDtl(string opNo) { return ValidateToken(t => { List list = BLLCreator.Create>().GetList(new { CN_S_OP_NO = opNo }); return OperateResult.Succeed("", list); }); } #endregion #region 获取盘点结果明细 /// /// 获取盘点明细 /// /// /// /// [HanHe(lt)] CREATED 2018/12/6 /// [HanHe(dbs)] CREATED 2019/3/18 [HttpGet] public OperateResult GetCheckList(string opNo) { return ValidateToken(t => { List list = BLLCreator.Create>().GetList(new { CN_S_OP_NO = opNo }); return OperateResult.Succeed("", list); }); } /// /// 获取盘点明细 /// /// /// /// [HanHe(lt)] CREATED 2018/12/6 /// [HanHe(dbs)] CREATED 2019/3/18 [HttpGet] public OperateResult GetChecklistGroup(string sqlWhere) { return ValidateToken(t => { var list = BLLCreator.Create().GetGroupDT(sqlWhere); return OperateResult.Succeed("", list); }); } #endregion #region 获取货位物料信息 /// /// 获取货位物料信息 /// /// Json查询条件 /// /// [HanHe(lt)] CREATED 2018/7/12 [HttpPost] public OperateResult GetTrayLocation(SearchModel searchModel) { return ValidateToken(searchModel.TokenId, t => { return BLLCreator.Create().GetTrayLocation(searchModel); }); } #endregion #region 新增 /// ///新增 /// /// Json实体类 /// /// [HanHe(lt)] CREATED 2018/7/13 [HttpPost] public OperateResult AddCheck(TN_WM_CHECK_MSTEntity mst) { return ValidateToken(mst.TokenId, t => { //TN_WM_CHECK_MSTEntity entityMst = JsonConvert.DeserializeObject(obj.Value("entityMst").ToString()); //List entityDtl = JsonConvert.DeserializeObject>(obj.Value("entityDtl").ToString()); return BLLCreator.Create().Add(mst); }); } #endregion #region 自定义新增 /// ///自定义新增 /// /// /// /// [HanHe(lt)] CREATED 2018/7/13 [HttpPost] public OperateResult AddCheckBatch(JObject obj) { string tokenId = obj["tokenId"].ToString(); return ValidateToken(tokenId, t => { TN_WM_CHECK_MSTEntity entityMst = JsonConvert.DeserializeObject(obj.Value("entityMst").ToString()); List entityDtl = BLL.BLLCreator.Create().Getlist(obj.Value("sqlwhere").ToString(), obj.Value("type").ToString()); entityMst.dtls = entityDtl; return BLL.BLLCreator.Create().Add(entityMst); }); } #endregion #region 提交 /// ///提交 /// /// /// /// [HanHe(lt)] CREATED 2018/8/24 [HttpPost] public OperateResult Submit(JObject obj) { string tokenid = obj["tokenid"].ToString(); return ValidateToken(tokenid, t => { string[] opNos = obj.Value("opNo").ToString().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); return BLL.BLLCreator.Create().Submit(opNos, t); }); } #endregion #region 删除主子表 /// ///删除主子表 /// /// /// /// [HanHe(lt)] CREATED 2018/8/24 /// [HanHe(dbs)] CREATED 2019/3/18 [HttpGet] public OperateResult Delete(string opNo) { return ValidateToken(t => { return BLLCreator.Create().Delete(opNo); }); } #endregion #region 修改主子表 /// /// 修改主子表 /// /// 条件 /// /// [HanHe(lt)] CREATED 2018/8/24 /// [HanHe(dbs)] CREATED 2019/3/18 public OperateResult Update(TN_WM_CHECK_MSTEntity mst) { return ValidateToken(mst.TokenId, t => { //TN_WM_CHECK_MSTEntity entityMst = JsonConvert.DeserializeObject(obj.Value("entityMst").ToString()); //List entityDtl = JsonConvert.DeserializeObject>(obj.Value("entityDtl").ToString()); return BLL.BLLCreator.Create().Update(mst); }); } #endregion #region 查询汇总盘点结果表 /// ///查询汇总盘点结果表 /// /// /// /// [HanHe(DBS)] CREATED BY 2019-3-22 [HttpPost] public OperateResult CheckResultShow(SearchModel sm) { return ValidateToken(sm.TokenId, t => { return BLLCreator.Create>().GetPagingResult(sm.PageIndex, sm.PageSize, new { CN_S_OP_NO = Util.ToString(sm.SearchCondition.CN_S_OP_NO), CN_S_STOCK_AREA = Util.ToString(sm.SearchCondition.CN_S_STOCK_AREA), CN_S_ITEM_CODE = Util.ToString(sm.SearchCondition.CN_S_ITEM_CODE) }); }); } #endregion #region 获取盘点子表 /// /// 获取盘点子表不分页 /// /// /// /// [Hanhe(lt)] created by 2018-7-13 [HttpGet] public string GetCheckMstDtlBywhere(string sqlwhere) { return ValidateToken(t => { DataTable dt = BLLCreator.Create().Getjoinentity(sqlwhere); OperateResult result = OperateResult.Succeed(null, dt); return JsonConvert.SerializeObject(result); }); } #endregion #region DPA #region 获取盘点清单 /// /// 获取盘点清单 /// /// 盘点单号 /// /// /// /// [HanHe(lt)] CREATED 2018/8/29 [HttpGet] public OperateResult GetCheckMst(string opNo, int pageSize, int pageIndex) { try { return ValidateToken(t => { long total; DataTable dt = BLLCreator.Create>().GetPagingData(new List(){ new SearchWhere(){ key="CN_S_OP_NO", sign= WhereSign.Like, value=opNo}, new SearchWhere(){ key="CN_S_STATE", sign= WhereSign.Include, value=new List{"盘点中","已提交"} }, }, pageIndex, pageSize, out total, true, new { CN_S_OP_NO = "%" + opNo + "%", CN_S_STATE = new List { "盘点中", "已提交" } }); dt.Columns.Add("CN_S_STOCK_NAME"); dt.Columns["CN_S_STOCK_NAME"].ReadOnly = false; foreach (DataRow dr in dt.Rows) dr["CN_S_STOCK_NAME"] = GetStockName(dr["CN_S_STOCK_CODE"].ToString()); return OperateResult.Succeed("", new { rows = dt, total = total }); }); } catch (Exception ex) { return OperateResult.Error(ex.Message.ToString()); } } #endregion #region 获取盘点清单 /// /// 获取盘点清单 /// /// 盘点单号 /// /// /// /// [HanHe(lt)] CREATED 2018/8/29 [HttpGet] public string GetCheckList(string opNo, string pageSize, string pageIndex) { try { return ValidateToken(t => { string sqlWhere = "where 1=1"; if (!string.IsNullOrEmpty(opNo)) { sqlWhere += " AND CN_S_OP_NO like '%" + opNo + "%'"; } //sqlWhere += " AND CN_S_ISCHECK='Y'"; var OrdeBy = "ORDER BY CN_S_OP_NO"; var ps = Convert.ToInt32(pageSize); var pi = Convert.ToInt32(pageIndex); DataTable dt = BLLCreator.Create().GetDataTableGroup(sqlWhere, OrdeBy, ps, pi); OperateResult res = OperateResult.Succeed(null, new { rows = dt, total = dt.Rows.Count }); return JsonConvert.SerializeObject(res); }); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } #endregion #region 根据货位盘点号获取托盘码 /// /// 获取盘点清单 /// /// 盘点单号 /// 货位码 /// /// /// /// [HanHe(lt)] CREATED 2018/8/29 [HttpGet] public string GetTrayListByLocationCode(string opNo, string locationCode) { try { return ValidateToken(t => { string sqlWhere = "where 1=1"; if (!string.IsNullOrEmpty(opNo)) { sqlWhere += " AND CN_S_OP_NO = '" + opNo + "'"; } if (!string.IsNullOrEmpty(locationCode)) { sqlWhere += " AND CN_S_LOCATION_CODE = '" + locationCode + "'"; } DataTable dt = BLLCreator.Create().GetTrayByLocationCode(sqlWhere); OperateResult res = OperateResult.Succeed(null, new { rows = dt, total = dt.Rows.Count }); return JsonConvert.SerializeObject(res); }); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } #endregion #region 根据货位托盘获取盘点信息 /// /// 获取盘点清单 /// /// 盘点单号 /// 托盘编码 /// 货位码 /// 是否是二次分拣(0不是1是) /// /// [HanHe(lt)] CREATED 2018/8/29 [HttpGet] public string GetCheckListByopNoTray(string opNo, string trayCode, string locationCode, string isCheckTwo) { return ValidateToken(t => { List list = BLLCreator.Create().GetUnitCheckList(opNo, trayCode, locationCode); OperateResult res = OperateResult.Succeed(null, list); return JsonConvert.SerializeObject(res); }); } #endregion #region 保存盘点数据 /// /// 保存盘点数据 /// /// /// /// [HanHe(lt)] CREATED 2018/8/30 //[HttpPost] //public OperateResult Save(JObject obj) //{ // string tokenId = obj["tokenId"].ToString(); // return ValidateToken(tokenId, t => // { // //HH.Redis.ReisModel.RedisUserEntity t = new HH.Redis.ReisModel.RedisUserEntity() { CN_S_LOGIN="hh", CN_S_NAME="hh"}; // //OperateResult result = BLL.BLLCreator.Create().SaveCheckPDA(obj, t); // return result; // }); //} #endregion #region 根据货位获取托盘中物料 /// /// 根据货位获取托盘中物料 /// /// 查询条件 /// /// [HanHe(lt)] CREATED 2019/1/2 [HttpGet] public string GetTrayitemBylocation(string locationCode) { return ValidateToken(t => { DataTable dt = BLL.BLLCreator.Create().GetTrayitemBylocation(locationCode); OperateResult result = OperateResult.Succeed("", dt); return JsonConvert.SerializeObject(result); }); } #endregion #endregion #region 执行下达任务 注释修改 /// /// 执行下达任务 /// /// /// /// [HanHe(lt)] CREATED 2018/8/30 [HttpGet] public OperateResult implement(string opNo) { OperateResult result = BLLCreator.Create().UpdateMstByOpNo("执行", "where CN_S_OP_NO in ('" + opNo + "')"); return result; } #endregion #region 综合查询 /// /// 根据货位获取托盘中物料 /// /// 查询条件 /// /// [HanHe(lt)] CREATED 2019/1/2 [HttpGet] public string GetComPreInfo(string queryCode, string queryType) { return ValidateToken(t => { DataTable dt = new DataTable(); //货位查询 if (queryType == "2") { dt = BLL.BLLCreator.Create().GetTrayitemBylocation(queryCode); } OperateResult result = OperateResult.Succeed("", dt); return JsonConvert.SerializeObject(result); }); } #endregion #region 无单据盘点 /// /// 无单据盘点 /// /// 查询条件 /// /// [HanHe(lt)] CREATED 2019/1/2 [HttpPost] public OperateResult NoBillCheck(JObject obj) { string tokenId = obj["tokenId"].ToString(); List checklist = JsonConvert.DeserializeObject>(obj["checklist"].ToString()); return ValidateToken(tokenId, t => { OperateResult result = BLL.BLLCreator.Create().NoBillCheck(checklist, t); return result; }); } #endregion #region 盘点盈亏统计确认 /// /// 盘点盈亏统计确认 /// /// 盘点单号 /// /// [HanHe(DBS)] CREATED 2019/3/22 [HttpGet] public OperateResult CheckConfirm(string opNo) { return ValidateToken(t => { OperateResult result = BLLCreator.Create().CheckConfirm(opNo, t); return result; }); } #endregion } }