using HH.AutoBom.Core; using HH.WMS.Common; using HH.WMS.Entitys; using HH.WMS.Entitys.Common; using HH.WMS.Entitys.MoveStock; using HH.WMS.WebUI.Controllers; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web; using System.Web.Mvc; namespace HH.WMS.WebUI.Areas.MoveStock.Controllers { public class MoveController : BaseController { // // GET: /MoveStock/Move/ public ActionResult Index() { return View(); } public ActionResult Edit() { return View(); } public ActionResult LocationExt() { return View(); } public ActionResult MoveTaskManage() { return View(); } public string GetMoveMst(int pageIndex, int pageSize, string stockCode, string type, string opNo, string opMode, string state, string valueDate) { string[] date = new string[2]; if (!string.IsNullOrEmpty(valueDate)) date = JsonConvert.DeserializeObject(valueDate); SearchModel searchModel = new SearchModel() { TokenId = GetTokenId(), PageIndex = pageIndex, PageSize = pageSize, SearchCondition = new { CN_S_STOCK_CODE = stockCode, CN_S_OP_MODE = opMode, CN_S_OP_NO = opNo, CN_S_OP_TYPE = type, CN_S_STATE = state, CN_T_START = !string.IsNullOrEmpty(valueDate) ? date[0] : "", CN_T_END = !string.IsNullOrEmpty(valueDate) ? date[1] : "" } }; var result= HttpWMS_Post("api/MoveStock/GetList", JsonConvert.SerializeObject(searchModel)); return result; } public string GetMoveStockTaskMsts(int pageIndex, int pageSize, string state, string valueDate) { string[] date = new string[2]; if (!string.IsNullOrEmpty(valueDate)) date = JsonConvert.DeserializeObject(valueDate); SearchModel searchModel = new SearchModel() { TokenId = GetTokenId(), PageIndex = pageIndex, PageSize = pageSize, SearchCondition = new { CN_S_STATE = state, CN_T_START = !string.IsNullOrEmpty(valueDate) ? date[0] : "", CN_T_END = !string.IsNullOrEmpty(valueDate) ? date[1] : "" } }; var result = HttpWMS_Post("api/MoveStockTask/GetMoveStockTaskMsts", JsonConvert.SerializeObject(searchModel)); return result; } public string GetMoveStockTaskDtls(string guid) { var result = HttpWMS_Get("api/MoveStockTask/GetMoveStockTaskDtls?guid=" + guid, ""); return result; } public string DeleteTask(string guid) { string returnstr = HttpWMS_Get("Api/MoveStockTask/Delete?guid=" + guid); return returnstr; } //public string GetCreateList(string stockCode, string stockArea, string locationCode, string opMode, string opType, string itemCode, string itemName) //{ // SearchModel searchModel = new SearchModel() // { // TokenId = GetTokenId(), // SearchCondition = new // { // CN_S_STOCK_CODE = stockCode, // CN_S_OP_MODE = opMode, // CN_S_OP_TYPE = opType, // CN_S_STATE = opMode, // CN_S_ITEM_CODE = itemCode, // CN_S_ITEM_NAME = itemName // } // }; // //todo 后台还没有写 // return HttpWMS_Post("api/MoveStock/GetMoveItem", JsonConvert.SerializeObject(searchModel)); //} #region 获取移库货位物料数据 /// /// 获取移库货位物料数据 /// /// 库区 /// 物料编码 /// 盘点日期 /// 类型 /// /// [HanHe(LT)] CREATED 2018/12/17 public string GetCreateList(string CN_S_OP_MODE, string CN_S_STOCK_CODE,string CN_S_START_AREA, string CN_S_ITEM_CODE, int pageIndex, int pageSize) { string sqlWhere = "WHERE 1=1"; //库区 if (!string.IsNullOrEmpty(CN_S_START_AREA)) { sqlWhere += " AND CN_S_STOCK_AREA = '" + CN_S_START_AREA + "' "; } //物料编码 if (!string.IsNullOrEmpty(CN_S_ITEM_CODE)) { sqlWhere += " AND CN_S_ITEM_CODE LIKE '%" + CN_S_ITEM_CODE + "%' "; } ////批次号 //if (!string.IsNullOrEmpty(CN_S_LOT_NO)) //{ // sqlWhere += " AND CN_S_LOT_CODE LIKE '%" + CN_S_LOT_NO + "%' "; //} //仓库编码 if (!string.IsNullOrEmpty(CN_S_STOCK_CODE)) { sqlWhere += " AND CN_S_STOCK_CODE = '" + CN_S_STOCK_CODE + "' "; } sqlWhere += " AND CN_S_STOCK_AREA<>'XNWXK' "; string OrdeBy = " order by CN_S_ITEM_CODE DESC"; var entity = new { OrdeBy = OrdeBy, sqlWhere = sqlWhere, pageSize = pageSize, pageIndex = pageIndex, type = CN_S_OP_MODE, tokenId = GetTokenId() }; string stringjson = JsonConvert.SerializeObject(entity); string list = ""; list = HttpWMS_Post("Api/MoveStock/GetCreateList", stringjson); return list; } #endregion #region 货位列表-分页 /// /// 物料列表-分页 /// /// /// /// public string LocationExtList(int pageIndex, int pageSize, string locationCode, string areaCode) { var loginer = FormsAuth.GetUserData(); var tokenId = loginer.Extend1; var searchModel = new { tokenId = tokenId, PageIndex = pageIndex, PageSize = pageSize, SearchCondition = new { CN_S_LOCATION_CODE = locationCode, CN_S_AREA_CODE = areaCode } }; return HttpWMS_Post("api/LocationExt/GetLocationExtList", JsonConvert.SerializeObject(searchModel)); } #endregion #region 新增 /// /// 新增 /// /// /// /// [HanHe(LT)] CREATED 2018/9/13 public string MoveAdd(JObject obj) { var loginer = FormsAuth.GetUserData(); List dtl = JsonConvert.DeserializeObject>(obj.Value("dtl").ToString()); TN_WM_MOVE_MSTEntity mst = JsonConvert.DeserializeObject(obj.Value("mst").ToString()); mst.CN_S_OP_NO = GetCode(Constants.MoveCode); var time = DateTime.Now; mst.CN_S_OPREATOR = loginer.UserName; mst.CN_T_OP_DATE = time; mst.CN_S_CREATOR = loginer.UserCode; mst.CN_S_CREATOR_BY = loginer.UserName; mst.CN_T_CREATE = time; mst.CN_S_MODIFY = loginer.UserCode; mst.CN_S_MODIFY_BY = loginer.UserName; mst.CN_T_MODIFY = time; var entity = new { mst = mst, dtl = dtl, tokenId = loginer.Extend1 }; string jsonentity = JsonConvert.SerializeObject(entity); return HttpWMS_Post("api/MoveStock/Add", jsonentity); ; } #endregion #region 查询移库子表数据分页 /// /// 查询移库子表数据分页 /// /// [HanHe(LT)] CREATED 2018/9/18 public string GetStockMoveDtl(string opNo) { string sqlWhere = ""; //移库单号 if (!string.IsNullOrEmpty(opNo)) { sqlWhere += " CN_S_OP_NO like '%" + opNo + "%' "; sqlWhere += " order by CN_S_OP_NO DESC"; } string list = HttpWMS_Get("Api/MoveStock/GetMoveDtlList?sqlWhere=" + sqlWhere); return list; } #endregion #region 查询移库明细数据分页 /// /// 查询移库明细数据分页 /// /// [HanHe(LT)] CREATED 2018/9/18 public string GetMoveResultGroup(string opNo) { string sqlWhere = ""; //移库单号 if (!string.IsNullOrEmpty(opNo)) { sqlWhere += " WHERE CN_S_OP_NO like '%" + opNo + "%' "; sqlWhere += " order by CN_S_OP_NO DESC"; } string list = HttpWMS_Get("Api/MoveStock/GetMoveResultList?sqlWhere=" + sqlWhere); return list; } #endregion #region 根据单号删除 /// /// 根据单号删除 /// /// /// /// [HanHe(LT)] CREATED 2018/9/18 public string DeleteStockMove(string opNo) { string returnstr = HttpWMS_Get("Api/MoveStock/DeleteStockMove?opNo=" + opNo); return returnstr; } #endregion #region 查询移库单主表 /// /// 查询移库单主表 /// /// 移库单号 /// /// [HanHe(LT)] CREATED 2018/9/19 public string GetMstDtl(string opNo) { string returnstr = HttpWMS_Get("Api/MoveStock/GetMstDtl?opNo=" + opNo); return returnstr; } #endregion #region 修改 /// /// 修改 /// /// /// /// [HanHe(LT)] CREATED 2018/9/19 public string MoveUpdate(JObject obj) { var loginer = FormsAuth.GetUserData(); List dtl = JsonConvert.DeserializeObject>(obj.Value("dtl").ToString()); TN_WM_MOVE_MSTEntity mst = JsonConvert.DeserializeObject(obj.Value("mst").ToString()); mst.CN_S_MODIFY = loginer.UserCode; mst.CN_S_MODIFY_BY = loginer.UserName; mst.CN_T_MODIFY = DateTime.Now; var entity = new { mst = mst, dtl = dtl, tokenId = loginer.Extend1 }; string jsonentity = JsonConvert.SerializeObject(entity); return HttpWMS_Post("api/MoveStock/MoveUpdate", jsonentity); ; } #endregion #region 提交 /// /// 提交 /// /// /// /// [HanHe(LT)] CREATED 2018/9/13 public string Submit(JObject obj) { var loginer = FormsAuth.GetUserData(); var entity = new { opNo = obj.Value("opNo"), CN_S_CREATOR = loginer.UserCode, CN_S_CREATOR_BY = loginer.UserName, OrgCode = loginer.ParentOrgCode, OrgFlag = loginer.OrgFlag, tokenId = loginer.Extend1 }; string jsonentity = JsonConvert.SerializeObject(entity); string returnstr = HttpWMS_Post("Api/MoveStock/Submit", jsonentity); return returnstr; } #endregion #region 获取虚拟库区 /// /// 获取虚拟库区 /// /// 包含库区类型 1:库区 2:作业区 3:逻辑分区 4:1+2 /// /// [HanHe(LT)] CREATED 2018/12/22 public string GetXNAreaList(string stockCode, string areaCode, int include) { var data = HttpWMS_Get("Api/MoveStock/GetXNAreaList?stockCode=" + stockCode + "&areaCode=" + areaCode + "&include=" + include); return data; } #endregion #region 导出移库列表 /// /// 导出 /// ///实体 /// /// [HanHe(LT)] CREATED 2019/1/24 public string ExportMoveList(JObject obj) { string sqlWhere = ""; //移库单号 if (!string.IsNullOrEmpty(obj["opNo"].ToString())) { sqlWhere += " WHERE CN_S_OP_NO ='" + obj["opNo"].ToString() + "' "; } string list = HttpWMS_Get("Api/MoveStock/GetMoveResultList?sqlWhere=" + sqlWhere); OperateResult or = JsonConvert.DeserializeObject(list); if (or.Status == ResultStatus.Success) { string s = ((dynamic)or.Data).ToString(); DataTable dt = HH.WMS.Utils.ZConvert.ToDataTableTwo(s); dynamic columns = obj["columns"]; string title = "移库单列表"; string fileName = title + "_" + DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".xls"; or = ExcelHelper.SaveTemp(columns, title, dt, fileName); return JsonConvert.SerializeObject(OperateResult.Succeed("", new { fileName = fileName })); } else { return JsonConvert.SerializeObject(or); } } #endregion } }