using HH.Redis.ReisModel; using HH.WMS.BLL; using HH.WMS.BLL.Basic; using HH.WMS.BLL.InStock; using HH.WMS.BLL.SysMgr; using HH.WMS.Common; using HH.WMS.Entitys; using HH.WMS.Entitys.Basic; using HH.WMS.Entitys.Common; using HH.WMS.Entitys.Entitys; using HH.WMS.Entitys.Func; 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.InStock.Controllers { public class InController : BaseController { #region 新增入库单 /// /// 新增入库单 /// /// 入库单实体 /// /// [HANHE(XDL)] CREATED BY 2018-11-13 [HttpPost] public OperateResult AddIncrease(TN_WM_INCREASE_INVENTORY_MSTEntity entity) { try { return ValidateToken(entity.TokenId, t => { OperateResult result = new OperateResult(); //entity.CN_S_ORGAN = t.CN_S_ORGCODE; entity.CN_S_CREATOR = t.CN_S_LOGIN; entity.CN_S_CREATOR_BY = t.CN_S_NAME; entity.CN_T_CREATE = DateTime.Now; entity.CN_S_MODIFY = t.CN_S_LOGIN; entity.CN_S_MODIFY_BY = t.CN_S_NAME; entity.CN_T_MODIFY = DateTime.Now; entity.CN_GUID = Guid.NewGuid().ToString(); entity.CN_S_OWNER = Constants.DefaultOwner; int rowNo = 1; foreach (var inDtl in entity.DTLEntity) { AutoBomItemEntity itemenity = BLLCreator.Create().GetItem(inDtl.CN_S_ITEM_CODE); inDtl.CN_S_EXT1 = "";//物料是否大小件 inDtl.CN_GUID = Guid.NewGuid().ToString(); inDtl.CN_N_ROW_NO = rowNo++; inDtl.CN_S_MSTGUID = entity.CN_GUID; inDtl.CN_S_OP_NO = entity.CN_S_OP_NO; inDtl.CN_S_STATE = entity.CN_S_STATE; inDtl.CN_S_ITEM_STATE = string.IsNullOrEmpty(inDtl.CN_S_ITEM_STATE.ToString()) ? "合格" : inDtl.CN_S_ITEM_STATE.ToString(); inDtl.CN_C_IS_BALANCE = "N"; inDtl.CN_C_IS_SCRAP = "N"; inDtl.CN_F_UPSHELF_QTY = 0; inDtl.CN_F_ALLOT_QTY = 0; inDtl.CN_F_PRINTING_QTY = 0; inDtl.CN_F_ADD_ONTRAY_QTY = 0; inDtl.CN_T_CREATE = DateTime.Now; inDtl.CN_S_CREATOR = entity.CN_S_CREATOR; inDtl.CN_S_CREATOR_BY = entity.CN_S_CREATOR_BY; inDtl.CN_T_MODIFY = DateTime.Now; inDtl.CN_S_MODIFY = entity.CN_S_MODIFY; inDtl.CN_S_MODIFY_BY = entity.CN_S_MODIFY_BY; } result = BLLCreator.Create().AddIncreaseInventory(entity, t); if (result.Success && (entity.OperateMessage == Constants.Operate_EditAndSubmit)) { List examineList = new List(); examineList.Add(new TN_WM_B_EXAMINEEntity() { CN_GUID = System.Guid.NewGuid().ToString().ToUpper(), CN_S_EXAMINE_TYPE = Constants.State_Submit, CN_S_OP_FROM = "入库单", CN_S_FROM_NO = entity.CN_S_OP_NO, CN_S_CREATOR = t.CN_S_LOGIN, CN_S_CREATOR_BY = t.CN_S_NAME, CN_T_CREATE = DateTime.Now, CN_S_OPINION = "", TokenId = entity.TokenId }); return SubmitIncrease(examineList); } return result; }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 修改入库单 /// /// 修改入库单 /// /// 入库单实体 /// /// [HANHE(XDL)] CREATED BY 2018-11-14 [HttpPost] public OperateResult UpdateIncrease(TN_WM_INCREASE_INVENTORY_MSTEntity entity) { try { return ValidateToken(entity.TokenId, t => { OperateResult result = new OperateResult(); var existsInMst = BLLCreator.Create>().GetSingleEntity(new { CN_S_OP_NO = entity.CN_S_OP_NO }); entity.CN_GUID = existsInMst.CN_GUID; entity.CN_T_CREATE = existsInMst.CN_T_CREATE; entity.CN_S_CREATOR = existsInMst.CN_S_CREATOR; entity.CN_S_CREATOR_BY = existsInMst.CN_S_CREATOR_BY; //根据tokenId 获取当前登陆信息 //entity.CN_S_ORGAN = t.CN_S_ORGCODE; entity.CN_S_MODIFY = t.CN_S_LOGIN; entity.CN_S_MODIFY_BY = t.CN_S_NAME; //修改 entity.CN_T_MODIFY = DateTime.Now; //货主不能为空,暂时赋值 entity.CN_S_OWNER = Constants.DefaultOwner; int rowNo = 1; foreach (var inDtl in entity.DTLEntity) { inDtl.CN_GUID = Guid.NewGuid().ToString(); inDtl.CN_N_ROW_NO = rowNo++; inDtl.CN_S_MSTGUID = entity.CN_GUID; inDtl.CN_S_OP_NO = entity.CN_S_OP_NO; inDtl.CN_S_STATE = entity.CN_S_STATE; inDtl.CN_S_ITEM_STATE = string.IsNullOrEmpty(inDtl.CN_S_ITEM_STATE.ToString()) ? "合格" : inDtl.CN_S_ITEM_STATE.ToString(); inDtl.CN_C_IS_BALANCE = "N"; inDtl.CN_C_IS_SCRAP = "N"; inDtl.CN_F_UPSHELF_QTY = 0; inDtl.CN_F_ALLOT_QTY = 0; inDtl.CN_F_PRINTING_QTY = 0; inDtl.CN_F_ADD_ONTRAY_QTY = 0; inDtl.CN_T_CREATE = DateTime.Now; inDtl.CN_S_CREATOR = entity.CN_S_CREATOR; inDtl.CN_S_CREATOR_BY = entity.CN_S_CREATOR_BY; inDtl.CN_T_MODIFY = DateTime.Now; inDtl.CN_S_MODIFY = entity.CN_S_MODIFY; inDtl.CN_S_MODIFY_BY = entity.CN_S_MODIFY_BY; } result = BLLCreator.Create().UpdateIncreaseInventory(entity); if (result.Success && (entity.OperateMessage == Constants.Operate_EditAndSubmit)) { List examineList = new List(); examineList.Add(new TN_WM_B_EXAMINEEntity() { CN_GUID = System.Guid.NewGuid().ToString().ToUpper(), CN_S_EXAMINE_TYPE = Constants.State_Submit, CN_S_OP_FROM = "入库单", CN_S_FROM_NO = entity.CN_S_OP_NO, CN_S_CREATOR = t.CN_S_LOGIN, CN_S_CREATOR_BY = t.CN_S_NAME, CN_T_CREATE = DateTime.Now, CN_S_OPINION = "", TokenId = entity.TokenId }); return SubmitIncrease(examineList); } return result; }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 删除入库单 /// /// 删除入库单 /// /// 入库单单号 /// /// [HANHE(XDL)] CREATED BY 2018-11-14 [HttpGet] public OperateResult DeleteIncrease(string opNo) { try { return ValidateToken(t => { return BLLCreator.Create().DeleteIncreaseInventory(opNo); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 提交入库单 /// /// 提交入库单 /// /// 审批实体 /// /// [HANHE(XDL)] CREATED BY 2018-11-14 [HttpPost] public OperateResult SubmitIncrease(List entity) { try { return ValidateToken(entity[0].TokenId, t => { return BLLCreator.Create().Submit(entity); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 审核入库单 /// /// 审核入库单 /// /// 审批实体 /// /// [HANHE(XDL)] CREATED BY 2018-11-14 [HttpPost] public OperateResult AuditIncrease(List entity) { try { return ValidateToken(entity[0].TokenId, t => { return ChangeInOperate(entity[0].CN_S_FROM_NO, outMst => { if (outMst.CN_S_STATE != Constants.State_Submit && outMst.CN_S_STATE != Constants.State_ReAudit) { return OperateResult.Error("该单据状态已被修改,请刷新页面"); } return BLLCreator.Create().Audit(entity); }); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 反审入库单 /// /// 反审入库单 /// /// 审批实体 /// /// [HANHE(XDL)] CREATED BY 2018-11-14 [HttpPost] public OperateResult ReAuditIncrease(List entity) { try { return ValidateToken(entity[0].TokenId, t => { return ChangeInOperate(entity[0].CN_S_FROM_NO, outMst => { //反审时状态必须为 已审核 if (outMst.CN_S_STATE != Constants.State_Audit) { return OperateResult.Error("该单据状态已被修改,请刷新页面"); } return BLLCreator.Create().ReAudit(entity); }); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 取消入库单 /// /// 取消入库单 /// /// 审批实体 /// /// [HANHE(XDL)] CREATED BY 2019-03-11 [HttpPost] public OperateResult CancelIncrease(List entity) { try { return ValidateToken(entity[0].TokenId, t => { return ChangeInOperate(entity[0].CN_S_FROM_NO, outMst => { //取消时状态必须为 已审核 if (outMst.CN_S_STATE != Constants.State_Audit) { return OperateResult.Error("该单据状态已被修改,请刷新页面"); } return BLLCreator.Create().CancelIncrease(entity); }); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 驳回入库单 /// /// 驳回入库单 /// /// 审批实体 /// /// [HANHE(XDL)] CREATED BY 2018-11-14 [HttpPost] public OperateResult RejectIncrease(List entity) { try { return ValidateToken(entity[0].TokenId, t => { return ChangeInOperate(entity[0].CN_S_FROM_NO, outMst => { string rejectMsg = Util.ToString(entity[0].CN_S_OPINION); if (string.IsNullOrEmpty(rejectMsg)) return OperateResult.Error("驳回意见不可为空"); //驳回时状态必须为 已提交 if (outMst.CN_S_STATE != Constants.State_Submit && outMst.CN_S_STATE != Constants.State_ReAudit) { return OperateResult.Error("该单据状态已被修改,请刷新页面"); } //驳回实体 TN_WM_B_REJECTEntity rejectEntity = new TN_WM_B_REJECTEntity() { CN_GUID = Guid.NewGuid().ToString(), CN_S_OP_FROM = Constants.Rule_OutOrder, CN_S_FROM_NO = entity[0].CN_S_FROM_NO, CN_S_OPINION = rejectMsg, CN_S_CREATOR = Util.ToString(entity[0].CN_S_CREATOR), CN_S_CREATOR_BY = Util.ToString(entity[0].CN_S_CREATOR_BY), CN_T_CREATE = DateTime.Now, CN_S_MODIFY = Util.ToString(entity[0].CN_S_CREATOR), CN_S_MODIFY_BY = Util.ToString(entity[0].CN_S_CREATOR_BY), CN_T_MODIFY = DateTime.Now }; return BLLCreator.Create().Reject(entity, rejectEntity); }); }); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 查询数据集 /// /// 获取入库单列表 /// /// 查询实体(页码,显示条数,条件等) /// /// [HANHE(XDL)] CREATED BY 2018-11-24 [HttpPost] public string GetIncreaseList(SearchModel searchModel) { return ValidateToken(searchModel.TokenId, t => { //根据tokenId 获取当前登陆信息 OperateResult resultInfo = GetTokenInfo(searchModel.TokenId); if (!resultInfo.Success) return JsonConvert.SerializeObject(resultInfo); IsoDateTimeConverter timeFormat = new IsoDateTimeConverter(); timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; // OperateResult pagingList = BLLCreator.Create>().GetPagingResult(searchModel.PageIndex, searchModel.PageSize, searchModel.SearchCondition); long total; DataTable dt = BLLCreator.Create().GetIncreaseList(searchModel, out total, false); OperateResult pagingList = OperateResult.Succeed("", new { rows = dt, total = total }); return JsonConvert.SerializeObject(pagingList, timeFormat); }); } /// /// 导出 /// /// /// [HttpPost] public string GetIncreaseListExport(SearchModel searchModel) { return ValidateToken(searchModel.TokenId, t => { //根据tokenId 获取当前登陆信息 OperateResult resultInfo = GetTokenInfo(searchModel.TokenId); if (!resultInfo.Success) return JsonConvert.SerializeObject(resultInfo); IsoDateTimeConverter timeFormat = new IsoDateTimeConverter(); timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; // OperateResult pagingList = BLLCreator.Create>().GetPagingResult(searchModel.PageIndex, searchModel.PageSize, searchModel.SearchCondition); long total; DataTable dt = BLLCreator.Create().GetIncreaseList(searchModel, out total, true); OperateResult pagingList = OperateResult.Succeed("", new { rows = dt, total = total }); return JsonConvert.SerializeObject(pagingList, timeFormat); }); } #endregion #region 带出入库单实体 /// /// 带出入库单实体 /// /// /// /// public OperateResult ChangeInOperate(string opNo, Func funcIn) { try { if (string.IsNullOrEmpty(opNo)) return OperateResult.Error("入库单号不可为空"); var inMst = BLLCreator.Create>().GetSingleEntity(new { CN_S_OP_NO = opNo }); if (inMst == null) return OperateResult.Error("未找到入库单号:" + opNo); return funcIn(inMst); } catch (Exception ex) { return OperateResult.Error(ex.Message); } } #endregion #region 获取入库单主表 /// /// 获取入库单主表 /// /// 仓库号 /// 业务类型 /// 业务单号 /// 业务日期 /// /// [HANHE(lt)] CREATED BY 2018-11-14 /// [HANHE(dbs)] modify BY 2018-12-18 [HttpGet] public string GetListInventoryMst(string stockCode, string opType, string opNo, string opDate, string vendorName) { try { return ValidateToken(t => { var list = BLLCreator.Create>().GetList(new List() { new SearchWhere(){ key="CN_S_STOCK_CODE", sign= WhereSign.Eq, value = stockCode}, new SearchWhere(){ key="CN_S_OP_TYPE", sign= WhereSign.Eq, value = opType}, new SearchWhere(){ key="CN_S_OP_NO", sign= WhereSign.Like, value=opNo}, new SearchWhere(){ key="CN_T_OPERATE", sign= WhereSign.TEq, value=opDate}, new SearchWhere(){ key="CN_S_VENDOR_NAME", sign= WhereSign.Like, value=vendorName} }, new { CN_S_STOCK_CODE = stockCode, CN_S_OP_TYPE = opType, CN_S_OP_NO = "%" + opNo + "%", CN_T_OPERATE = opDate, CN_S_VENDOR_NAME = "%" + vendorName + "%" }, false); return JsonConvert.SerializeObject(OperateResult.Succeed("", list)); }); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } /// /// 获取入库单 /// /// /// [HANHE(lt)] CREATED BY 2018-11-14 [HttpGet] public string GetListInventoryDtl(string opNo) { try { var list = BLLCreator.Create>().GetList(new { CN_S_OP_NO = opNo }); return JsonConvert.SerializeObject(OperateResult.Succeed("", list)); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } #endregion #region 获取入库订单 /// /// 获取入库订单 /// /// /// [HANHE(lt)] CREATED BY 2018-11-14 [HttpGet] public string GetInMstList(string opNo) { try { var sqlwhere = ""; if (!string.IsNullOrEmpty(opNo)) { sqlwhere += " where CN_S_OP_NO like '%" + opNo + "%'"; } var list = BLLCreator.Create().GetInMstList(sqlwhere); return JsonConvert.SerializeObject(OperateResult.Succeed("", list)); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } /// /// 获取入库订单 /// /// /// [HANHE(lt)] CREATED BY 2018-11-14 [HttpGet] public string GetInDtlList(string opNo) { try { var sqlwhere = " "; if (!string.IsNullOrEmpty(opNo)) { sqlwhere += " where CN_S_OP_NO like '%" + opNo + "%'"; } var list = BLLCreator.Create().GetInDtlList(sqlwhere); return JsonConvert.SerializeObject(OperateResult.Succeed("", list)); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } #endregion #region (物料)新增打码表数据 /// /// (物料)新增打码表数据 /// /// /// [HANHE(lt)] CREATED BY 2018-11-15 [HttpPost] public string AddItem(JObject obj) { try { bool bools = false; DataTable dtjson = JsonConvert.DeserializeObject(obj["list"].ToString());//打印实体 List itemCodeList = dtjson.AsEnumerable().Select(s => s.Field("CN_S_ITEM_CODE")).ToList(); ; List printbarlist = new List(); List Maplist = new List(); List itemlist = BLLCreator.Create().GetItemList(itemCodeList); foreach (DataRow dr in dtjson.Rows)//循环打印 { string guid = dr["key"].ToString(); MONGO_PRINT_BARCODE printbar = new MONGO_PRINT_BARCODE(); MONGO_KEYTYPE_MAP Map = new MONGO_KEYTYPE_MAP();//码值对照表 Map.Key = guid; Map.Type = "1"; List itemEntity = itemlist.AsEnumerable().Where(w => w.CN_S_ITEM_CODE == dr["CN_S_ITEM_CODE"].ToString()).ToList();//选择 printbar.CN_S_UNIQUE_CODE = guid; //printbar.CN_S_OWNER = dtwhere[0]["CN_S_OWNER"].ToString(); //printbar.CN_S_VENDOR_NO = dtwhere[0]["CN_S_VENDOR_NO"].ToString(); //printbar.CN_S_VENDOR_NAME = dtwhere[0]["CN_S_VENDOR_NAME"].ToString(); //printbar.CN_S_LOT_CODE = dtwhere[0]["CN_S_LOT_NO"].ToString(); //printbar.CN_S_SERAIL_NO = itemEntity[0].CN_S_SERIAL_CODE; printbar.CN_S_ITEM_CODE = dr["CN_S_ITEM_CODE"].ToString(); printbar.CN_S_ITEM_NAME = itemEntity[0].CN_S_ITEM_NAME; printbar.CN_S_MODEL = itemEntity[0].CN_S_MODEL; // printbar.CN_S_QGP_UNIT = itemEntity; printbar.CN_N_QGP = Convert.ToInt32(itemEntity[0].CN_F_WARRNTY_PARTS); printbar.CN_C_IS_WARRANTY_PARTS = itemEntity[0].CN_C_IS_WARRNTY_PARTS; printbar.CN_S_FIGURE_NO = itemEntity[0].CN_S_FIGURE_NO; printbar.CN_S_PACKING_UNIT = dr["CN_F_PACKING_QTY"].ToString() + itemEntity[0].CN_S_MEASURE_UNIT; printbar.CN_F_PACKING_QTY = Convert.ToInt32(dr["CN_F_PACKING_QTY"]); printbar.CN_T_CREATE = DateTime.Now; printbarlist.Add(printbar); Maplist.Add(Map); //} } if (printbarlist.Any() && Maplist.Any()) { bools = BLLCreator.Create().AddPrintBarcode(printbarlist); bools = BLLCreator.Create().AddKeyType(Maplist); if (!bools) { return JsonConvert.SerializeObject(OperateResult.Error("保存失败")); } } return JsonConvert.SerializeObject(OperateResult.Succeed("", null)); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } #endregion #region 获取物料信息 /// /// 新增打码表数据 /// /// /// [HANHE(lt)] CREATED BY 2018-11-26 public string GetItemList(string itemCode) { try { List itemArray = itemCode.Split(',').ToList(); var list = BLLCreator.Create().GetItemList(itemArray); return JsonConvert.SerializeObject(OperateResult.Succeed("", list)); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } #endregion #region 获取未完全打印的入库单记录 /// /// 获取未完全打印的入库单记录 /// /// 仓库号 /// /// [HANHE(DBS)] CREATED BY 2019-02-28 public OperateResult GetWaitPrintOrder(string stockCode) { return ValidateToken(t => { return BLLCreator.Create().GetWaitPrintOrder(stockCode); }); } #endregion #region PDA、外部调用全部接口 /// /// 获取可上架入库单列表 /// /// 模糊查询条件:入库单号 /// /// [HANHE(XDL)] CREATED BY 2018-11-13 [HttpGet] public string GetIncreaseInventoryList(string opNo) { try { return ValidateToken(t => { List list = BLLCreator.Create().GetIncreaseInventoryList(opNo); return JsonConvert.SerializeObject(OperateResult.Succeed("", list)); }); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } /// /// 获取可码盘入库单列表 /// /// 模糊查询条件:入库单号 /// /// [HANHE(XDL)] CREATED BY 2018-11-13 [HttpGet] public string GetInListWithCodedisc(string opNo) { try { return ValidateToken(t => { List list = BLLCreator.Create().GetInListWithCodedisc(opNo); return JsonConvert.SerializeObject(OperateResult.Succeed("", list)); }); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } /// /// 根据单号获取主子表信息 /// /// 模糊查询条件:入库单号 /// /// [HANHE(XDL)] CREATED BY 2018-11-19 [HttpGet] public string GetIncreaseInventoryMstAndDtl(string opNo) { try { return ValidateToken(t => { TN_WM_INCREASE_INVENTORY_MSTEntity inMstEntity = BLLCreator.Create().GetIncreaseInventoryMstAndDtl(opNo); return JsonConvert.SerializeObject(OperateResult.Succeed("", inMstEntity)); }); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } /// /// 根据单号获取主子表信息-可码盘明细 /// /// 入库单号 /// [HttpGet] public string GetInMstAndDtl_OnTray(string opNo) { try { return ValidateToken(t => { TN_WM_INCREASE_INVENTORY_MSTEntity inMstEntity = BLLCreator.Create().GetInMstAndDtl_OnTray(opNo); return JsonConvert.SerializeObject(OperateResult.Succeed("", inMstEntity)); }); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } /// /// 根据单号获取主子表信息-可上架明细 /// /// 入库单号 /// [HttpGet] public string GetInMstAndDtl_OnShelf(string opNo) { try { return ValidateToken(t => { TN_WM_INCREASE_INVENTORY_MSTEntity inMstEntity = BLLCreator.Create().GetInMstAndDtl_OnShelf(opNo); return JsonConvert.SerializeObject(OperateResult.Succeed("", inMstEntity)); }); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } /// /// 根据入库单号获取入库单明细 /// /// 入库单号 /// /// [HANHE(XDL)] CREATED BY 2018-11-13 [HttpGet] public string GetIncreaseInventoryDetail(string opNo) { try { return ValidateToken(t => { List list = BLLCreator.Create().GetIncreaseInventoryDetail(opNo); return JsonConvert.SerializeObject(OperateResult.Succeed("", list)); }); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } /// /// U8服务调用-新增入库单主子表、仓库库区量表 /// /// 入库单主子表集合 /// [HttpPost] public string AddU8InData(List mstList) { OperateResult or = BLLCreator.Create().AddU8InData(mstList); return JsonConvert.SerializeObject(or); } /// /// U8服务调用-调拨单更新物料状态 /// /// 集合 /// [HttpPost] public string UpdateTransVouchItemState(List transVouchList) { OperateResult or = BLLCreator.Create().UpdateTransVouchItemState(transVouchList); return JsonConvert.SerializeObject(or); } #region 还料单相关接口 /// /// 新增-还料单 /// /// /// [HANHE(xdl)] CREATED BY 2019-1-16 [HttpPost] public OperateResult SaveItemBack(JObject objData) { try { Log.Info("还料单传参", objData.ToString()); ItemOnShelfEntity entity = JsonConvert.DeserializeObject(objData.ToString()); var oResult = ValidateToken(entity.TokenId, t => { if (t == null) { return OperateResult.Error("登陆人员信息获取失败!"); } return BLLCreator.Create().SaveItemBack(entity, t); }); return oResult; } catch (Exception ex) { return OperateResult.Error(ex.Message.ToString()); } } /// /// 获取可还料单列表 /// /// 模糊查询条件:还料单号 /// [HttpGet] public string GetItemBackList(string opNo) { try { return ValidateToken(t => { List list = BLLCreator.Create().GetItemBackList(opNo); return JsonConvert.SerializeObject(OperateResult.Succeed("", list)); }); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } /// /// 根据单号获取主子表信息 /// /// 模糊查询条件:还料单号 /// [HttpGet] public string GetItemBackMstAndDtl(string opNo) { try { return ValidateToken(t => { TN_WM_ITEMBACK_MSTEntity mstEntity = BLLCreator.Create().GetItemBackMstAndDtl(opNo); return JsonConvert.SerializeObject(OperateResult.Succeed("", mstEntity)); }); } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message.ToString())); } } #endregion /// /// PDA接口-获取待贴码信息 /// /// 产品唯一码 /// /// [HANHE(XDL)] CREATED BY 2019-03-15 [HttpGet] public string GetFixedData(string packingCode) { try { return ValidateToken(t => { MONGO_PRINT_BARCODE printBarCode = BLLCreator.Create().GetValue(packingCode); if (printBarCode != null) { DataTable dt = BLLCreator.Create().GetFixedData(printBarCode); return JsonConvert.SerializeObject(OperateResult.Succeed("", dt)); } else { return JsonConvert.SerializeObject(OperateResult.Succeed("码值 " + packingCode + " 无效!", null)); } }); } catch (Exception ex) { Log.Info("获取待贴码信息报错", ex.Message.ToString()); return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString())); } } /// /// PDA接口-贴码确认 /// /// 数据Json实体 /// /// [HANHE(XDL)] CREATED BY 2019-03-15 [HttpPost] public string FixedConfirm(JObject json) { try { string tokenId = json.Value("tokenId"); return ValidateToken(tokenId, t => { OperateResult result = new OperateResult(); string packingCode = json.Value("packingCode"); MONGO_PRINT_BARCODE printBarCode = BLLCreator.Create().GetValue(packingCode); if (printBarCode != null) { result = BLLCreator.Create().FixedConfirm(printBarCode); return JsonConvert.SerializeObject(result); } else { return JsonConvert.SerializeObject(OperateResult.Succeed("码值 " + packingCode + " 无效!", null)); } }); } catch (Exception ex) { Log.Info("贴码确认", ex.Message.ToString()); return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString())); } } /// /// PDA接口-获取搬运信息 /// /// 产品唯一码 /// /// [HANHE(XDL)] CREATED BY 2019-03-15 [HttpGet] public string GetTransData(string packingCode) { try { return ValidateToken(t => { MONGO_PRINT_BARCODE printBarCode = BLLCreator.Create().GetValue(packingCode); if (printBarCode != null) { OperateResult oresult = new OperateResult(); oresult = BLLCreator.Create().GetTransData(printBarCode); return JsonConvert.SerializeObject(oresult); } else { return JsonConvert.SerializeObject(OperateResult.Succeed("码值 " + packingCode + " 无效!", null)); } }); } catch (Exception ex) { Log.Info("获取搬运信息", ex.Message.ToString()); return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString())); } } /// /// PDA接口-搬运确认 /// /// 数据Json实体 /// /// [HANHE(XDL)] CREATED BY 2019-03-15 [HttpPost] public string TransConfirm(List json) { OperateResult finalResult = new OperateResult(); try { string tokenId = json[0].Value("tokenId"); return ValidateToken(tokenId, t => { List results = new List(); foreach (var _json in json) { OperateResult result = BLLCreator.Create().TransConfirm(_json); results.Add(result); } results = results.FindAll(p => !p.Success); if (results.Any()) { List msgs = new List(); results.ForEach(p => { if (p.Msg != null) msgs.Add(p.Msg); }); finalResult.Success = false; finalResult.Msg = string.Join(",", msgs); } else { finalResult.Success = true; finalResult.Msg = "搬运确认成功!"; } return JsonConvert.SerializeObject(finalResult); }); } catch (Exception ex) { Log.Info("搬运确认", ex.Message.ToString()); return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString())); } } /// /// PDA接口-获取物料所在库区 /// /// 产品唯一码 /// /// [HANHE(XDL)] CREATED BY 2019-03-19 [HttpGet] public string GetItemStockArea(string packingCode) { try { return ValidateToken(t => { MONGO_PRINT_BARCODE printBarCode = BLLCreator.Create().GetValue(packingCode); if (printBarCode != null) { OperateResult oresult = new OperateResult(); oresult = BLLCreator.Create().GetItemStockArea(printBarCode); return JsonConvert.SerializeObject(oresult); } else { return JsonConvert.SerializeObject(OperateResult.Succeed("码值 " + packingCode + " 无效!", null)); } }); } catch (Exception ex) { Log.Info("获取物料所在库区", ex.Message.ToString()); return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString())); } } /// /// PDA接口-根据托盘码获取存放容量 /// /// 托盘码 /// /// [HANHE(XDL)] CREATED BY 2019-03-19 [HttpGet] public string GetCapacityinfoByTrayCode(string trayCode) { try { return ValidateToken(t => { OperateResult oresult = new OperateResult(); oresult = BLLCreator.Create().GetCapacityinfoByTrayCode(trayCode); return JsonConvert.SerializeObject(oresult); }); } catch (Exception ex) { Log.Info("根据托盘码获取存放容量", ex.Message.ToString()); return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString())); } } /// /// PDA接口-获取物料明细(根据产品码) /// /// 条码 /// 条码类型 /// /// [HANHE(XDL)] CREATED BY 2019-03-19 [HttpGet] public string GetItemDetail(string scanCode, string codeType) { try { return ValidateToken(t => { OperateResult oresult = new OperateResult(); oresult = BLLCreator.Create().GetItemDetail(scanCode, codeType); return JsonConvert.SerializeObject(oresult); }); } catch (Exception ex) { Log.Info("获取物料明细", ex.Message.ToString()); return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString())); } } /// /// PDA接口-根据托盘码里面物料获取库区 /// /// 托盘码 /// [HanHe(XDL)] CREATED 2019/04/11 [HttpGet] public string GetTrayItemByArea(string trayCode) { try { return ValidateToken(t => { OperateResult oresult = new OperateResult(); oresult = BLLCreator.Create().GetTrayItemByArea(trayCode); return JsonConvert.SerializeObject(oresult); }); } catch (Exception ex) { Log.Info("根据托盘码里面物料获取库区", ex.Message.ToString()); return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString())); } } /// /// PDA接口-整托获取建议货位 /// /// 托盘码 /// 分拣台 /// 库区 /// /// [HanHe(XDL)] CREATED 2019/04/11 [HttpGet] public string ZTGetLocationCode(string trayCode, string platformArea, string stockArea) { try { return ValidateToken(t => { OperateResult oresult = new OperateResult(); oresult = BLLCreator.Create().ZTGetLocationCode(trayCode, platformArea, stockArea); return JsonConvert.SerializeObject(oresult); }); } catch (Exception ex) { Log.Info("整托获取建议货位", ex.Message.ToString()); return JsonConvert.SerializeObject(OperateResult.Succeed("抛异常!", ex.Message.ToString())); } } #endregion } }