Merge branch 'master' of https://gitee.com/liudongl/jc24-wms
| | |
| | | public int? QtyCount { get; set; } |
| | | |
| | | } |
| | | |
| | | //入库任务单据信息 |
| | | public class ResponseOrderTaskModel |
| | | { |
| | | /// <summary> |
| | | /// WMS下发单号 |
| | | /// </summary> |
| | | public string? OrderNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 任务号 |
| | | /// </summary> |
| | | public string? TaskNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 批次号 |
| | | /// </summary> |
| | | public string? LotNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 物料编码 |
| | | /// </summary> |
| | | public string? SkuNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 物料名称 |
| | | /// </summary> |
| | | public string? SkuName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 规格 |
| | | /// </summary> |
| | | public string? BoxType { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 总箱数/计划箱数/预估箱数 |
| | | /// </summary> |
| | | public int? Qty { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 任务类型 |
| | | /// </summary> |
| | | public int? TaskType { get; set; } |
| | | } |
| | | #endregion |
| | | |
| | | #region AGV-Model |
| | |
| | | using WMS.Entity.SysEntity; |
| | | using WMS.IBLL.IBllAsnServer; |
| | | using WMS.BLL.SysServer; |
| | | using System.Threading.Tasks; |
| | | using System.Security.Policy; |
| | | |
| | | namespace WMS.BLL.BllAsnServer |
| | | { |
| | |
| | | } |
| | | |
| | | //添加入库单据 |
| | | public string AddArrivalNotice(ArrivalNoticeVm model) |
| | | public string AddArrivalNotice(ArrivalNoticeVm model, string url) |
| | | { |
| | | string strMessage = ""; |
| | | string sqlString = string.Empty; |
| | |
| | | //0:成品入库 1:采购入库 2:中间品入库 3:退货入库 4:车间余料入库 5:其它入库 6:代储入库 7:寄存入库 |
| | | var TypeLot = "1, 2, 5, 6, 7"; //批次可为空单据类型 |
| | | |
| | | var addOder = new List<ResponseOrderTaskModel>(); |
| | | try |
| | | { |
| | | if (model.Origin == "录入") |
| | |
| | | sqlDetailStr += $"'{model.ASNNo}','{detailModel.SkuNo}','{detailModel.SkuName}','{detailModel.Standard}', "; |
| | | sqlDetailStr += $"'{detailModel.LotNo}','{detailModel.LotText}','{detailModel.Qty}','{detailModel.PackagNo}','{detailModel.Price}', "; |
| | | sqlDetailStr += $"{detailModel.Money},'{detailModel.IsBale}','{detailModel.IsBelt}','{detailModel.SupplierLot}','0','{detailModel.UDF1}','{detailModel.UDF2}','{detailModel.UDF3}','{detailModel.UDF4}','{detailModel.UDF5}','{model.CreateUser}');"; |
| | | |
| | | if (model.Type == "1") |
| | | { |
| | | addOder.Add(new ResponseOrderTaskModel() |
| | | { |
| | | OrderNo = model.ASNNo, |
| | | LotNo = detailModel.LotNo, |
| | | SkuNo = detailModel.SkuNo, |
| | | SkuName = detailModel.SkuName, |
| | | BoxType = detailModel.Standard, |
| | | Qty = (int)detailModel.Qty, |
| | | TaskType = 0 |
| | | }); |
| | | } |
| | | } |
| | | |
| | | if (sqlDetailStr == string.Empty) |
| | |
| | | if (rowCount > 0 && rowDetailCount > 0) |
| | | { |
| | | new OperationASNServer().AddLogOperationAsn("入库作业", "入库单据", model.ASNNo, "添加", $"添加了单据号为{model.ASNNo}的单据信息", Convert.ToInt32(model.CreateUser)); |
| | | |
| | | if (addOder.Count > 0) |
| | | { |
| | | // 正式运行程序放开 |
| | | var jsonData = JsonConvert.SerializeObject(addOder); |
| | | string response = ""; |
| | | |
| | | try |
| | | { |
| | | var time1 = DateTime.Now;//发送时间 .ToString("yyyy-MM-dd HH:mm:ss") |
| | | //给WCS下发入库单信息 |
| | | response = HttpHelper.DoPost(url, jsonData, "下发给WCS出库命令", "WCS"); |
| | | |
| | | //////解析返回数据 |
| | | var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response); |
| | | if (wcsModel.StatusCode == 0) |
| | | { |
| | | |
| | | } |
| | | if (wcsModel.StatusCode == -1) |
| | | { |
| | | |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new Exception(ex.Message); |
| | | } |
| | | } |
| | | return strMessage; |
| | | } |
| | | else |
| | |
| | | { |
| | | throw new Exception("单据号不可为空!"); |
| | | } |
| | | if (model.AsnDetailNo == 0) |
| | | { |
| | | throw new Exception("单据明细不可为空!"); |
| | | } |
| | | //if (model.AsnDetailNo == 0) |
| | | //{ |
| | | // throw new Exception("单据明细不可为空!"); |
| | | //} |
| | | //根据单据号获取入库单总单 |
| | | notice = Db.Queryable<BllArrivalNotice>().First(a => a.IsDel == "0" && a.ASNNo == model.AsnNo && a.OrderCode == model.OrderCode); |
| | | notice = Db.Queryable<BllArrivalNotice>().First(a => a.IsDel == "0" && a.ASNNo == model.AsnNo); |
| | | //notice = Db.Queryable<BllArrivalNotice>().First(a => a.IsDel == "0" && a.ASNNo == model.AsnNo && a.OrderCode == model.OrderCode); |
| | | if (notice.Status != "0" && notice.Status != "1" && notice.Status != "2") |
| | | { |
| | | throw new Exception("该单据已关单!"); |
| | |
| | | throw new Exception("批次不能为空!"); |
| | | } |
| | | // 验证入库单明细是否存在 |
| | | detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailNo && m.ASNNo == model.AsnNo && m.LotNo == model.LotNo && m.SkuNo == model.SkuNo); |
| | | detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo && m.LotNo == model.LotNo && m.SkuNo == model.SkuNo); |
| | | //detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailNo && m.ASNNo == model.AsnNo && m.LotNo == model.LotNo && m.SkuNo == model.SkuNo); |
| | | if (detail == null) |
| | | { |
| | | throw new Exception("当前物料及批次与单据无关联,请核实!"); |
| | |
| | | #endregion |
| | | |
| | | //判断托盘绑定信息中是否有 |
| | | var bind = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.ASNDetailNo == model.AsnDetailNo && m.PalletNo == model.PalletNo && m.Status != "2"); |
| | | var bind = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.ASNDetailNo == detail.Id && m.PalletNo == model.PalletNo && m.Status != "2"); |
| | | var bindId = 0; |
| | | if (bind == null) |
| | | { |
| | | bind = new BllPalletBind |
| | | { |
| | | ASNNo = model.AsnNo, |
| | | ASNDetailNo = model.AsnDetailNo, |
| | | ASNNo = notice.ASNNo, |
| | | ASNDetailNo = detail.Id, |
| | | PalletNo = model.PalletNo, |
| | | PalletNo2 = "", |
| | | PalletNo3 = "", |
| | |
| | | { |
| | | var boxInfo = new BllBoxInfo() |
| | | { |
| | | ASNNo = model.AsnNo, |
| | | ASNDetailNo = model.AsnDetailNo, |
| | | ASNNo = notice.ASNNo, |
| | | ASNDetailNo = detail.Id, |
| | | OrderCode = box.OrderCode, |
| | | BindNo = bindId, |
| | | BoxNo = box.BoxNo, |
| | |
| | | } |
| | | else if (model.Type == "0")//物料托 |
| | | { |
| | | if (model.Detail.Count(m => m.OrderCode != detail.OrderDetailCode) > 0) |
| | | { |
| | | throw new Exception($"托盘绑定明细中,含有箱码生产工单不一致"); |
| | | } |
| | | //if (model.Detail.Count(m => m.OrderCode != detail.OrderDetailCode) > 0) |
| | | //{ |
| | | // throw new Exception($"托盘绑定明细中,含有箱码生产工单不一致"); |
| | | //} |
| | | if (model.Detail.Count(m => m.SkuNo != model.SkuNo || m.LotNo != model.LotNo) > 0) |
| | | { |
| | | throw new Exception($"托盘绑定明细中,含有箱码物料或批次不一致"); |
| | |
| | | boxFullQty += box.Qty; |
| | | var boxInfo = new BllBoxInfo() |
| | | { |
| | | ASNNo = model.AsnNo, |
| | | ASNDetailNo = model.AsnDetailNo, |
| | | ASNNo = detail.ASNNo, |
| | | ASNDetailNo = detail.Id, |
| | | OrderCode = box.OrderCode, |
| | | BindNo = bindId, |
| | | BoxNo = box.BoxNo, |
| | |
| | | // 更改托盘使用状态 |
| | | var sqlStr = $"update SysPallets set Status = '1' where PalletNo = '{model.PalletNo}';"; |
| | | //添加托盘记录表数据 |
| | | sqlStr += $"insert into LogPalletTrack values('{model.PalletNo}','{model.AsnNo}','组盘','0',getDate(),{userId},NULL,NULL);"; |
| | | sqlStr += $"insert into LogPalletTrack values('{model.PalletNo}','{notice.ASNNo}','组盘','0',getDate(),{userId},NULL,NULL);"; |
| | | Db.Ado.ExecuteCommand(sqlStr); |
| | | new OperationASNServer().AddLogOperationAsn("PDA模块", "托盘绑定", model.AsnNo, "添加", $"添加了托盘码为:{model.PalletNo}的组盘信息", userId); |
| | | new OperationASNServer().AddLogOperationAsn("PDA模块", "托盘绑定", notice.ASNNo, "添加", $"添加了托盘码为:{model.PalletNo}的组盘信息", userId); |
| | | |
| | | Db.CommitTran(); |
| | | } |
| | |
| | | using WMS.BLL.LogServer; |
| | | using WMS.DAL; |
| | | using WMS.Entity.LogEntity; |
| | | using Model.ModelDto.SysDto; |
| | | using Model.ModelDto.BllSoDto; |
| | | |
| | | namespace WMS.BLL.BllPdaServer |
| | | { |
| | |
| | | try |
| | | { |
| | | string strMsg = ""; |
| | | var outDtoList = new List<OutCommandDto>(); //出库数据的集合 |
| | | var outDto1 = new List<OutCommandDto>(); //先出库数据的集合(深度为1的储位) |
| | | var outDto2 = new List<OutCommandDto>(); //后出库数据的集合(深度为2的储位) |
| | | var moveDto = new List<OutCommandDto>(); //要移库数据的集合 |
| | | //获取当前时间 |
| | | DateTime serverTime = Db.GetDate(); |
| | | //获取库存明细是否小于等于该垛数 |
| | |
| | | return strMsg; |
| | | } |
| | | |
| | | int i = 0; |
| | | |
| | | var com = new Common(); |
| | | Db.BeginTran(); |
| | | |
| | | //遍历库存信息 |
| | | foreach (var s in stockDetail) |
| | | { |
| | | //if (outDto1.Contains(m=>m.PalletNo == s.PalletNo) >0) |
| | | //{ |
| | | // continue; |
| | | //} |
| | | //获取储位信息 |
| | | var locat = Db.Queryable<SysStorageLocat>().First(l => l.LocatNo == s.LocatNo && l.IsDel == "0" && l.WareHouseNo == "W01"); |
| | | |
| | | if (locat != null) |
| | | if(locat == null) |
| | | { |
| | | if (locat.Status != "1") |
| | | { |
| | | continue; |
| | | } |
| | | //更改储位状态为出库中 |
| | | locat.Status = "3"; //3 出库中 |
| | | locat.UpdateTime = serverTime; //修改时间 |
| | | locat.UpdateUser = userId; //修改人 |
| | | //修改储位信息 |
| | | Db.Updateable(locat).ExecuteCommand(); |
| | | continue; |
| | | } |
| | | |
| | | //增加库存锁定数量 |
| | | //stock.AllotQty += |
| | | stock.LockQty += (int)s.Qty; //锁定数量 |
| | | stock.UpdateTime = serverTime; //修改时间 |
| | | stock.UpdateUser = userId; //修改人 |
| | | //修改库存总表信息 |
| | | Db.Updateable(stock).ExecuteCommand(); |
| | | |
| | | //增加库存明细锁定数量 |
| | | //s.AllotQty += |
| | | s.LockQty += (int)s.Qty; //锁定数量 |
| | | s.UpdateTime = serverTime; //修改时间 |
| | | s.UpdateUser = userId; //修改人 |
| | | s.Status = "2"; //2 已分配 |
| | | //修改库存明细信息 |
| | | Db.Updateable(s).ExecuteCommand(); |
| | | |
| | | #region 分配 |
| | | |
| | | //添加分配表信息 |
| | | var allot = new BllExportAllot |
| | | |
| | | ////更改储位状态为出库中 |
| | | //locat.Status = "3"; //3 出库中 |
| | | //locat.UpdateTime = serverTime; //修改时间 |
| | | //locat.UpdateUser = userId; //修改人 |
| | | ////修改储位信息 |
| | | //Db.Updateable(locat).ExecuteCommand(); |
| | | |
| | | if (locat.Status == "1") |
| | | { |
| | | SONo = "", |
| | | WaveNo = "", |
| | | SODetailNo = 0, |
| | | StockId = s.Id, |
| | | LotNo = "", |
| | | LotText = "", |
| | | SupplierLot = "", |
| | | SkuNo = s.SkuNo, |
| | | SkuName = s.SkuName, |
| | | Standard = s.Standard, |
| | | PalletNo = s.PalletNo, |
| | | IsBale = "0", //是否裹包 |
| | | IsBelt = "0", //是否打带 |
| | | if (locat.Depth == "01") //深度为1 |
| | | { |
| | | #region 改变库存 |
| | | |
| | | //BoxexQty = s.Qty, |
| | | Qty = (int)s.Qty, |
| | | CompleteQty = 0, |
| | | Status = "1", |
| | | LogisticsId = 0, |
| | | IsAdvance = "0", |
| | | OutMode = model.OutMode,//出库口 |
| | | //增加库存锁定数量 |
| | | stock.LockQty += (int)s.Qty; //锁定数量 |
| | | stock.UpdateTime = serverTime; //修改时间 |
| | | stock.UpdateUser = userId; //修改人 |
| | | Db.Updateable(stock).ExecuteCommand();//修改库存总表信息 |
| | | |
| | | CreateUser = userId, |
| | | CreateTime = DateTime.Now |
| | | }; |
| | | Db.Insertable(allot).ExecuteCommand(); |
| | | //增加库存明细锁定数量 |
| | | s.LockQty += (int)s.Qty; //锁定数量 |
| | | s.UpdateTime = serverTime; //修改时间 |
| | | s.UpdateUser = userId; //修改人 |
| | | s.Status = "2"; //2 已分配 |
| | | Db.Updateable(s).ExecuteCommand();//修改库存明细信息 |
| | | |
| | | #endregion |
| | | #endregion |
| | | |
| | | #region 添加出库任务信息 |
| | | #region 分配 |
| | | |
| | | var taskNo = new Common().GetMaxNo("TK"); |
| | | var exTask = new LogTask //出库任务 |
| | | //添加分配表信息 |
| | | var allot = new BllExportAllot |
| | | { |
| | | SONo = "", |
| | | WaveNo = "", |
| | | SODetailNo = 0, |
| | | StockId = s.Id, |
| | | LotNo = "", |
| | | LotText = "", |
| | | SupplierLot = "", |
| | | SkuNo = s.SkuNo, |
| | | SkuName = s.SkuName, |
| | | Standard = s.Standard, |
| | | PalletNo = s.PalletNo, |
| | | IsBale = "0", //是否裹包 |
| | | IsBelt = "0", //是否打带 |
| | | |
| | | //BoxexQty = s.Qty, |
| | | Qty = (int)s.Qty, |
| | | CompleteQty = 0, |
| | | Status = "1", |
| | | LogisticsId = 0, |
| | | IsAdvance = "0", |
| | | OutMode = model.OutMode,//出库口 |
| | | |
| | | CreateUser = userId, |
| | | CreateTime = DateTime.Now |
| | | }; |
| | | Db.Insertable(allot).ExecuteCommand(); |
| | | |
| | | #endregion |
| | | |
| | | #region 添加出库任务信息 |
| | | |
| | | var taskNo = new Common().GetMaxNo("TK"); |
| | | var exTask = new LogTask //出库任务 |
| | | { |
| | | TaskNo = taskNo, |
| | | Sender = "WMS", |
| | | Receiver = "PDA", |
| | | IsSuccess = 1, //是否下发成功 0失败 1成功 |
| | | |
| | | StartLocat = locat == null ? "" : s.LocatNo,//起始位置 |
| | | EndLocat = model.OutMode,//目标位置 |
| | | PalletNo = s.PalletNo,//托盘码 |
| | | IsSend = 1,//是否可再次下发 |
| | | IsCancel = 1,//是否可取消 |
| | | IsFinish = 1,//是否可完成 |
| | | Type = "1",//任务类型 0 入库任务 1 出库任务 2 移库任务 |
| | | Status = "1",//任务状态0:等待执行1正在执行2执行完成 |
| | | OrderType = "1",//0 入库单 1 出库单 2 盘点单 3 移库单 |
| | | CreateTime = serverTime, //创建时间 |
| | | CreateUser = userId, //创建人 |
| | | Msg = "Pda空托从" + locat == null ? "" : s.LocatNo + "到" + model.OutMode + "的出库任务", //关键信息 |
| | | //FinishDate = serverTime, //完成时间 |
| | | }; |
| | | outDto1.Add(new OutCommandDto() |
| | | { |
| | | PalletNo = exTask.PalletNo,//托盘号 |
| | | StartLocate = exTask.StartLocat, // 起始位置 |
| | | StartRoadway = locat.RoadwayNo, //所属巷道 |
| | | EndLocate = model.OutMode, // 目标位置 |
| | | TaskNo = exTask.TaskNo, // 任务号 |
| | | TaskType = "1",// 任务类型 (出库) |
| | | OutMode = model.OutMode, //目标地址 |
| | | Order = 1 |
| | | }); |
| | | Db.Insertable(exTask).ExecuteCommand(); |
| | | |
| | | #endregion |
| | | |
| | | #region 储位状态变更 |
| | | //更改储位状态为出库中 |
| | | locat.Status = "3"; //3 出库中 |
| | | Db.Updateable(locat).ExecuteCommand();//修改储位信息 |
| | | #endregion |
| | | } |
| | | else if (locat.Depth == "02") //深度为2 |
| | | { |
| | | //获取出库深度为2储位前面的储位信息 |
| | | var sql2 = $@"select * from SysStorageLocat where WareHouseNo = '{locat.WareHouseNo}' and row = {locat.Row} and [Column] = {locat.Column} and Layer = {locat.Layer} and Depth = '01'; "; |
| | | var slotBefore = Db.Ado.SqlQuery<SysStorageLocat>(sql2).First(); |
| | | if (slotBefore == null) |
| | | { |
| | | #region 改变库存 |
| | | |
| | | //增加库存锁定数量 |
| | | stock.LockQty += (int)s.Qty; //锁定数量 |
| | | stock.UpdateTime = serverTime; //修改时间 |
| | | stock.UpdateUser = userId; //修改人 |
| | | Db.Updateable(stock).ExecuteCommand();//修改库存总表信息 |
| | | |
| | | //增加库存明细锁定数量 |
| | | s.LockQty += (int)s.Qty; //锁定数量 |
| | | s.UpdateTime = serverTime; //修改时间 |
| | | s.UpdateUser = userId; //修改人 |
| | | s.Status = "2"; //2 已分配 |
| | | Db.Updateable(s).ExecuteCommand();//修改库存明细信息 |
| | | |
| | | #endregion |
| | | |
| | | #region 分配 |
| | | |
| | | //添加分配表信息 |
| | | var allot = new BllExportAllot |
| | | { |
| | | SONo = "", |
| | | WaveNo = "", |
| | | SODetailNo = 0, |
| | | StockId = s.Id, |
| | | LotNo = "", |
| | | LotText = "", |
| | | SupplierLot = "", |
| | | SkuNo = s.SkuNo, |
| | | SkuName = s.SkuName, |
| | | Standard = s.Standard, |
| | | PalletNo = s.PalletNo, |
| | | IsBale = "0", //是否裹包 |
| | | IsBelt = "0", //是否打带 |
| | | |
| | | //BoxexQty = s.Qty, |
| | | Qty = (int)s.Qty, |
| | | CompleteQty = 0, |
| | | Status = "1", |
| | | LogisticsId = 0, |
| | | IsAdvance = "0", |
| | | OutMode = model.OutMode,//出库口 |
| | | |
| | | CreateUser = userId, |
| | | CreateTime = DateTime.Now |
| | | }; |
| | | Db.Insertable(allot).ExecuteCommand(); |
| | | |
| | | #endregion |
| | | |
| | | #region 添加出库任务信息 |
| | | |
| | | var taskNo = new Common().GetMaxNo("TK"); |
| | | var exTask = new LogTask //出库任务 |
| | | { |
| | | TaskNo = taskNo, |
| | | Sender = "WMS", |
| | | Receiver = "PDA", |
| | | IsSuccess = 1, //是否下发成功 0失败 1成功 |
| | | |
| | | StartLocat = locat == null ? "" : s.LocatNo,//起始位置 |
| | | EndLocat = model.OutMode,//目标位置 |
| | | PalletNo = s.PalletNo,//托盘码 |
| | | IsSend = 1,//是否可再次下发 |
| | | IsCancel = 1,//是否可取消 |
| | | IsFinish = 1,//是否可完成 |
| | | Type = "1",//任务类型 0 入库任务 1 出库任务 2 移库任务 |
| | | Status = "1",//任务状态0:等待执行1正在执行2执行完成 |
| | | OrderType = "1",//0 入库单 1 出库单 2 盘点单 3 移库单 |
| | | CreateTime = serverTime, //创建时间 |
| | | CreateUser = userId, //创建人 |
| | | Msg = "Pda空托从" + locat == null ? "" : s.LocatNo + "到" + model.OutMode + "的出库任务", //关键信息 |
| | | //FinishDate = serverTime, //完成时间 |
| | | }; |
| | | outDto1.Add(new OutCommandDto() |
| | | { |
| | | PalletNo = exTask.PalletNo,//托盘号 |
| | | StartLocate = exTask.StartLocat, // 起始位置 |
| | | StartRoadway = locat.RoadwayNo, //所属巷道 |
| | | EndLocate = model.OutMode, // 目标位置 |
| | | TaskNo = exTask.TaskNo, // 任务号 |
| | | TaskType = "1",// 任务类型 (出库) |
| | | OutMode = model.OutMode, //目标地址 |
| | | Order = 1 |
| | | }); |
| | | Db.Insertable(exTask).ExecuteCommand(); |
| | | |
| | | #endregion |
| | | |
| | | #region 储位状态变更 |
| | | //更改储位状态为出库中 |
| | | locat.Status = "3"; //3 出库中 |
| | | Db.Updateable(locat).ExecuteCommand();//修改储位信息 |
| | | #endregion |
| | | } |
| | | else |
| | | { |
| | | //判断储位状态 |
| | | if (slotBefore.Status == "0") |
| | | { |
| | | #region 改变库存 |
| | | |
| | | //增加库存锁定数量 |
| | | stock.LockQty += (int)s.Qty; //锁定数量 |
| | | stock.UpdateTime = serverTime; //修改时间 |
| | | stock.UpdateUser = userId; //修改人 |
| | | Db.Updateable(stock).ExecuteCommand();//修改库存总表信息 |
| | | |
| | | //增加库存明细锁定数量 |
| | | s.LockQty += (int)s.Qty; //锁定数量 |
| | | s.UpdateTime = serverTime; //修改时间 |
| | | s.UpdateUser = userId; //修改人 |
| | | s.Status = "2"; //2 已分配 |
| | | Db.Updateable(s).ExecuteCommand();//修改库存明细信息 |
| | | |
| | | #endregion |
| | | |
| | | #region 分配 |
| | | |
| | | //添加分配表信息 |
| | | var allot = new BllExportAllot |
| | | { |
| | | SONo = "", |
| | | WaveNo = "", |
| | | SODetailNo = 0, |
| | | StockId = s.Id, |
| | | LotNo = "", |
| | | LotText = "", |
| | | SupplierLot = "", |
| | | SkuNo = s.SkuNo, |
| | | SkuName = s.SkuName, |
| | | Standard = s.Standard, |
| | | PalletNo = s.PalletNo, |
| | | IsBale = "0", //是否裹包 |
| | | IsBelt = "0", //是否打带 |
| | | |
| | | //BoxexQty = s.Qty, |
| | | Qty = (int)s.Qty, |
| | | CompleteQty = 0, |
| | | Status = "1", |
| | | LogisticsId = 0, |
| | | IsAdvance = "0", |
| | | OutMode = model.OutMode,//出库口 |
| | | |
| | | CreateUser = userId, |
| | | CreateTime = DateTime.Now |
| | | }; |
| | | Db.Insertable(allot).ExecuteCommand(); |
| | | |
| | | #endregion |
| | | |
| | | #region 添加出库任务信息 |
| | | |
| | | var taskNo = new Common().GetMaxNo("TK"); |
| | | var exTask = new LogTask //出库任务 |
| | | { |
| | | TaskNo = taskNo, |
| | | Sender = "WMS", |
| | | Receiver = "PDA", |
| | | IsSuccess = 1, //是否下发成功 0失败 1成功 |
| | | |
| | | StartLocat = locat == null ? "" : s.LocatNo,//起始位置 |
| | | EndLocat = model.OutMode,//目标位置 |
| | | PalletNo = s.PalletNo,//托盘码 |
| | | IsSend = 1,//是否可再次下发 |
| | | IsCancel = 1,//是否可取消 |
| | | IsFinish = 1,//是否可完成 |
| | | Type = "1",//任务类型 0 入库任务 1 出库任务 2 移库任务 |
| | | Status = "1",//任务状态0:等待执行1正在执行2执行完成 |
| | | OrderType = "1",//0 入库单 1 出库单 2 盘点单 3 移库单 |
| | | CreateTime = serverTime, //创建时间 |
| | | CreateUser = userId, //创建人 |
| | | Msg = "Pda空托从" + locat == null ? "" : s.LocatNo + "到" + model.OutMode + "的出库任务", //关键信息 |
| | | //FinishDate = serverTime, //完成时间 |
| | | }; |
| | | outDto1.Add(new OutCommandDto() |
| | | { |
| | | PalletNo = exTask.PalletNo,//托盘号 |
| | | StartLocate = exTask.StartLocat, // 起始位置 |
| | | StartRoadway = locat.RoadwayNo, //所属巷道 |
| | | EndLocate = model.OutMode, // 目标位置 |
| | | TaskNo = exTask.TaskNo, // 任务号 |
| | | TaskType = "1",// 任务类型 (出库) |
| | | OutMode = model.OutMode, //目标地址 |
| | | Order = 1 |
| | | }); |
| | | Db.Insertable(exTask).ExecuteCommand(); |
| | | |
| | | #endregion |
| | | |
| | | #region 储位状态变更 |
| | | //更改储位状态为出库中 |
| | | locat.Status = "3"; //3 出库中 |
| | | Db.Updateable(locat).ExecuteCommand();//修改储位信息 |
| | | #endregion |
| | | } |
| | | else if(slotBefore.Status == "1") |
| | | { |
| | | //判断托盘上物料 |
| | | var pallSku = Db.Queryable<DataStockDetail>().First(m=>m.SkuNo == "100099" && m.LocatNo == slotBefore.LocatNo); |
| | | if (pallSku == null) //移库 |
| | | { |
| | | #region 分配 |
| | | |
| | | //添加分配表信息 |
| | | var allot = new BllExportAllot |
| | | { |
| | | SONo = "", |
| | | WaveNo = "", |
| | | SODetailNo = 0, |
| | | StockId = s.Id, |
| | | LotNo = "", |
| | | LotText = "", |
| | | SupplierLot = "", |
| | | SkuNo = s.SkuNo, |
| | | SkuName = s.SkuName, |
| | | Standard = s.Standard, |
| | | PalletNo = s.PalletNo, |
| | | IsBale = "0", //是否裹包 |
| | | IsBelt = "0", //是否打带 |
| | | |
| | | //BoxexQty = s.Qty, |
| | | Qty = (int)s.Qty, |
| | | CompleteQty = 0, |
| | | Status = "1", |
| | | LogisticsId = 0, |
| | | IsAdvance = "0", |
| | | OutMode = model.OutMode,//出库口 |
| | | |
| | | CreateUser = userId, |
| | | CreateTime = DateTime.Now |
| | | }; |
| | | Db.Insertable(allot).ExecuteCommand(); |
| | | |
| | | #endregion |
| | | |
| | | #region 添加移库任务信息 |
| | | |
| | | var taskNo = new Common().GetMaxNo("TK"); |
| | | var exTask = new LogTask //出库任务 |
| | | { |
| | | TaskNo = taskNo, |
| | | Sender = "WMS", |
| | | Receiver = "PDA", |
| | | IsSuccess = 1, //是否下发成功 0失败 1成功 |
| | | |
| | | StartLocat = locat == null ? "" : s.LocatNo,//起始位置 |
| | | EndLocat = model.OutMode,//目标位置 |
| | | PalletNo = s.PalletNo,//托盘码 |
| | | IsSend = 1,//是否可再次下发 |
| | | IsCancel = 1,//是否可取消 |
| | | IsFinish = 1,//是否可完成 |
| | | Type = "2",//任务类型 0 入库任务 1 出库任务 2 移库任务 |
| | | Status = "1",//任务状态0:等待执行1正在执行2执行完成 |
| | | OrderType = "1",//0 入库单 1 出库单 2 盘点单 3 移库单 |
| | | CreateTime = serverTime, //创建时间 |
| | | CreateUser = userId, //创建人 |
| | | Msg = "Pda空托从" + locat == null ? "" : s.LocatNo + "到" + model.OutMode + "的移库任务", //关键信息 |
| | | //FinishDate = serverTime, //完成时间 |
| | | }; |
| | | moveDto.Add(new OutCommandDto() |
| | | { |
| | | PalletNo = exTask.PalletNo,//托盘号 |
| | | StartLocate = exTask.StartLocat, // 起始位置 |
| | | StartRoadway = locat.RoadwayNo, //所属巷道 |
| | | EndLocate = model.OutMode, // 目标位置 |
| | | TaskNo = exTask.TaskNo, // 任务号 |
| | | TaskType = "2",// 任务类型 (出库) |
| | | OutMode = model.OutMode, //目标地址 |
| | | Order = 1 |
| | | }); |
| | | Db.Insertable(exTask).ExecuteCommand(); |
| | | |
| | | #endregion |
| | | |
| | | #region 储位状态变更 |
| | | //更改储位状态为移出中 |
| | | slotBefore.Status = "5"; //5 移出中 |
| | | Db.Updateable(slotBefore).ExecuteCommand();//修改储位信息 |
| | | #endregion |
| | | } |
| | | else //出库 |
| | | { |
| | | #region 改变库存 |
| | | |
| | | //增加库存锁定数量 |
| | | stock.LockQty += (int)s.Qty; //锁定数量 |
| | | stock.UpdateTime = serverTime; //修改时间 |
| | | stock.UpdateUser = userId; //修改人 |
| | | Db.Updateable(stock).ExecuteCommand();//修改库存总表信息 |
| | | |
| | | //增加库存明细锁定数量 |
| | | s.LockQty += (int)s.Qty; //锁定数量 |
| | | s.UpdateTime = serverTime; //修改时间 |
| | | s.UpdateUser = userId; //修改人 |
| | | s.Status = "2"; //2 已分配 |
| | | Db.Updateable(s).ExecuteCommand();//修改库存明细信息 |
| | | |
| | | #endregion |
| | | |
| | | #region 分配 |
| | | |
| | | //添加分配表信息 |
| | | var allot = new BllExportAllot |
| | | { |
| | | SONo = "", |
| | | WaveNo = "", |
| | | SODetailNo = 0, |
| | | StockId = s.Id, |
| | | LotNo = "", |
| | | LotText = "", |
| | | SupplierLot = "", |
| | | SkuNo = s.SkuNo, |
| | | SkuName = s.SkuName, |
| | | Standard = s.Standard, |
| | | PalletNo = s.PalletNo, |
| | | IsBale = "0", //是否裹包 |
| | | IsBelt = "0", //是否打带 |
| | | |
| | | //BoxexQty = s.Qty, |
| | | Qty = (int)s.Qty, |
| | | CompleteQty = 0, |
| | | Status = "1", |
| | | LogisticsId = 0, |
| | | IsAdvance = "0", |
| | | OutMode = model.OutMode,//出库口 |
| | | |
| | | CreateUser = userId, |
| | | CreateTime = DateTime.Now |
| | | }; |
| | | Db.Insertable(allot).ExecuteCommand(); |
| | | |
| | | #endregion |
| | | |
| | | #region 添加出库任务信息 |
| | | |
| | | var taskNo = new Common().GetMaxNo("TK"); |
| | | var exTask = new LogTask //出库任务 |
| | | { |
| | | TaskNo = taskNo, |
| | | Sender = "WMS", |
| | | Receiver = "PDA", |
| | | IsSuccess = 1, //是否下发成功 0失败 1成功 |
| | | |
| | | StartLocat = locat == null ? "" : s.LocatNo,//起始位置 |
| | | EndLocat = model.OutMode,//目标位置 |
| | | PalletNo = s.PalletNo,//托盘码 |
| | | IsSend = 1,//是否可再次下发 |
| | | IsCancel = 1,//是否可取消 |
| | | IsFinish = 1,//是否可完成 |
| | | Type = "1",//任务类型 0 入库任务 1 出库任务 2 移库任务 |
| | | Status = "1",//任务状态0:等待执行1正在执行2执行完成 |
| | | OrderType = "1",//0 入库单 1 出库单 2 盘点单 3 移库单 |
| | | CreateTime = serverTime, //创建时间 |
| | | CreateUser = userId, //创建人 |
| | | Msg = "Pda空托从" + locat == null ? "" : s.LocatNo + "到" + model.OutMode + "的出库任务", //关键信息 |
| | | //FinishDate = serverTime, //完成时间 |
| | | }; |
| | | outDto2.Add(new OutCommandDto() |
| | | { |
| | | PalletNo = exTask.PalletNo,//托盘号 |
| | | StartLocate = exTask.StartLocat, // 起始位置 |
| | | StartRoadway = locat.RoadwayNo, //所属巷道 |
| | | EndLocate = model.OutMode, // 目标位置 |
| | | TaskNo = exTask.TaskNo, // 任务号 |
| | | TaskType = "1",// 任务类型 (出库) |
| | | OutMode = model.OutMode, //目标地址 |
| | | Order = 1 |
| | | }); |
| | | Db.Insertable(exTask).ExecuteCommand(); |
| | | |
| | | #endregion |
| | | #region 储位状态变更 |
| | | //更改储位状态为出库中 |
| | | slotBefore.Status = "3"; //3 出库中 |
| | | Db.Updateable(slotBefore).ExecuteCommand();//修改储位信息 |
| | | #endregion |
| | | } |
| | | if (int.Parse(model.Num) == outDto1.Count + outDto2.Count) |
| | | { |
| | | break;//需求垛数已达到 可以出库了 |
| | | } |
| | | else |
| | | { |
| | | #region 改变库存 |
| | | |
| | | //增加库存锁定数量 |
| | | stock.LockQty += (int)s.Qty; //锁定数量 |
| | | stock.UpdateTime = serverTime; //修改时间 |
| | | stock.UpdateUser = userId; //修改人 |
| | | Db.Updateable(stock).ExecuteCommand();//修改库存总表信息 |
| | | |
| | | //增加库存明细锁定数量 |
| | | s.LockQty += (int)s.Qty; //锁定数量 |
| | | s.UpdateTime = serverTime; //修改时间 |
| | | s.UpdateUser = userId; //修改人 |
| | | s.Status = "2"; //2 已分配 |
| | | Db.Updateable(s).ExecuteCommand();//修改库存明细信息 |
| | | |
| | | #endregion |
| | | |
| | | #region 分配 |
| | | |
| | | //添加分配表信息 |
| | | var allot = new BllExportAllot |
| | | { |
| | | SONo = "", |
| | | WaveNo = "", |
| | | SODetailNo = 0, |
| | | StockId = s.Id, |
| | | LotNo = "", |
| | | LotText = "", |
| | | SupplierLot = "", |
| | | SkuNo = s.SkuNo, |
| | | SkuName = s.SkuName, |
| | | Standard = s.Standard, |
| | | PalletNo = s.PalletNo, |
| | | IsBale = "0", //是否裹包 |
| | | IsBelt = "0", //是否打带 |
| | | |
| | | //BoxexQty = s.Qty, |
| | | Qty = (int)s.Qty, |
| | | CompleteQty = 0, |
| | | Status = "1", |
| | | LogisticsId = 0, |
| | | IsAdvance = "0", |
| | | OutMode = model.OutMode,//出库口 |
| | | |
| | | CreateUser = userId, |
| | | CreateTime = DateTime.Now |
| | | }; |
| | | Db.Insertable(allot).ExecuteCommand(); |
| | | |
| | | #endregion |
| | | |
| | | #region 添加出库任务信息 |
| | | |
| | | var taskNo = new Common().GetMaxNo("TK"); |
| | | var exTask = new LogTask //出库任务 |
| | | { |
| | | TaskNo = taskNo, |
| | | Sender = "WMS", |
| | | Receiver = "PDA", |
| | | IsSuccess = 1, //是否下发成功 0失败 1成功 |
| | | |
| | | StartLocat = locat == null ? "" : s.LocatNo,//起始位置 |
| | | EndLocat = model.OutMode,//目标位置 |
| | | PalletNo = s.PalletNo,//托盘码 |
| | | IsSend = 1,//是否可再次下发 |
| | | IsCancel = 1,//是否可取消 |
| | | IsFinish = 1,//是否可完成 |
| | | Type = "1",//任务类型 0 入库任务 1 出库任务 2 移库任务 |
| | | Status = "1",//任务状态0:等待执行1正在执行2执行完成 |
| | | OrderType = "1",//0 入库单 1 出库单 2 盘点单 3 移库单 |
| | | CreateTime = serverTime, //创建时间 |
| | | CreateUser = userId, //创建人 |
| | | Msg = "Pda空托从" + locat == null ? "" : s.LocatNo + "到" + model.OutMode + "的出库任务", //关键信息 |
| | | //FinishDate = serverTime, //完成时间 |
| | | }; |
| | | outDto2.Add(new OutCommandDto() |
| | | { |
| | | PalletNo = exTask.PalletNo,//托盘号 |
| | | StartLocate = exTask.StartLocat, // 起始位置 |
| | | StartRoadway = locat.RoadwayNo, //所属巷道 |
| | | EndLocate = model.OutMode, // 目标位置 |
| | | TaskNo = exTask.TaskNo, // 任务号 |
| | | TaskType = "1",// 任务类型 (出库) |
| | | OutMode = model.OutMode, //目标地址 |
| | | Order = 1 |
| | | }); |
| | | Db.Insertable(exTask).ExecuteCommand(); |
| | | |
| | | #endregion |
| | | #region 储位状态变更 |
| | | |
| | | //更改储位状态为出库中 |
| | | locat.Status = "3"; //3 出库中 |
| | | Db.Updateable(locat).ExecuteCommand();//修改储位信息 |
| | | #endregion |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | if (int.Parse(model.Num) == outDto1.Count+ outDto2.Count) |
| | | { |
| | | TaskNo = taskNo, |
| | | Sender = "WMS", |
| | | Receiver = "PDA", |
| | | IsSuccess = 1, //是否下发成功 0失败 1成功 |
| | | |
| | | StartLocat = locat == null ? "零箱库" : s.LocatNo,//起始位置 |
| | | EndLocat = model.OutMode,//目标位置 |
| | | PalletNo = s.PalletNo,//托盘码 |
| | | IsSend = 1,//是否可再次下发 |
| | | IsCancel = 1,//是否可取消 |
| | | IsFinish = 1,//是否可完成 |
| | | Type = "1",//任务类型 0 入库任务 1 出库任务 2 移库任务 |
| | | Status = "1",//任务状态0:等待执行1正在执行2执行完成 |
| | | OrderType = "1",//0 入库单 1 出库单 2 盘点单 3 移库单 |
| | | CreateTime = serverTime, //创建时间 |
| | | CreateUser = userId, //创建人 |
| | | Msg = "Pda空托从" + locat == null ? "零箱库" : s.LocatNo + "到" + model.OutMode + "的出库任务", //关键信息 |
| | | //FinishDate = serverTime, //完成时间 |
| | | }; |
| | | outDtoList.Add(new OutCommandDto() |
| | | { |
| | | PalletNo = exTask.PalletNo,//托盘号 |
| | | StartLocate = exTask.StartLocat, // 起始位置 |
| | | StartRoadway = locat.RoadwayNo, //所属巷道 |
| | | EndLocate = model.OutMode, // 目标位置 |
| | | TaskNo = exTask.TaskNo, // 任务号 |
| | | TaskType = "1",// 任务类型 (出库) |
| | | OutMode = model.OutMode, //目标地址 |
| | | Order = 1 |
| | | }); |
| | | Db.Insertable(exTask).ExecuteCommand(); |
| | | |
| | | #endregion |
| | | i += 1; |
| | | if (i == int.Parse(model.Num)) |
| | | { |
| | | //需求垛数已达到 可以出库了 |
| | | break; |
| | | break;//需求垛数已达到 可以出库了 |
| | | } |
| | | } |
| | | |
| | | if (outDtoList.Count > 0) |
| | | outDto1.AddRange(moveDto); |
| | | outDto1.AddRange(outDto2); |
| | | if (outDto1.Count > 0) |
| | | { |
| | | // 正式运行程序放开 |
| | | var list2 = outDtoList.Select(m => m.TaskNo).ToList(); |
| | | var jsonData = JsonConvert.SerializeObject(outDtoList); |
| | | var list2 = outDto1.Select(m => m.TaskNo).ToList(); |
| | | var jsonData = JsonConvert.SerializeObject(outDto1); |
| | | string response = ""; |
| | | |
| | | try |
| | |
| | | } |
| | | |
| | | //添加操作日志记录 |
| | | var k = new OperationSOServer().AddLogOperationSo("PDA模块", "空托出库", i + "", "下发", $"用PDA下发了 {i} 个空托垛", userId); |
| | | var k = new OperationSOServer().AddLogOperationSo("PDA模块", "空托出库", int.Parse(model.Num) + "", "下发", $"用PDA下发了 {int.Parse(model.Num)} 个空托垛", userId); |
| | | Db.CommitTran(); |
| | | |
| | | return ""; |
| | |
| | | |
| | | } |
| | | |
| | | public string MoveAddress(string oldAddress, string roadWay, string skuNo)//01020201 排-列-层-深度 |
| | | { |
| | | string nowAddress = ""; |
| | | |
| | | //根据物料编码获取对应区域 |
| | | var skuCategoryNo = Db.Queryable<SysMaterials>().Where(a => a.IsDel == "0" && a.SkuNo == skuNo).Select(a => a.CategoryNo).First(); |
| | | var category = Db.Queryable<SysMaterialCategory>().First(a => a.IsDel == "0" && a.CategoryNo == skuCategoryNo); |
| | | |
| | | // 获取移库目标储位 |
| | | var row = int.Parse(oldAddress.Substring(0, 2)); |
| | | var lie = int.Parse(oldAddress.Substring(2, 2)); |
| | | var ceng = int.Parse(oldAddress.Substring(4, 2)); |
| | | |
| | | var sqlString = $@"select LocatNo,[Row],[Column],Layer, (ABS(Row-{row}) + ABS([Column]-{lie}) + ABS(Layer-{ceng})) as distNum from SysStorageLocat where Flag = '0' and Status = '0' and Depth = '02' and RoadwayNo = '{roadWay}' and AreaNo in ('{category.AreaNo}') order by distNum;"; |
| | | |
| | | var addressModels = Db.Ado.SqlQuery<AddressCls>(sqlString).ToList(); |
| | | if (addressModels.Count > 0) // 判断同巷道内排空库位 |
| | | { |
| | | var listLocaete = new List<string>(); |
| | | foreach (var item in addressModels) |
| | | { |
| | | // 目标内库位对应的外库位 |
| | | string addressee = item.LocatNo.Substring(0, 6) + "01"; |
| | | |
| | | // 判断目标库位的外库位是否存在货物 (正常情况下正在移入情况不存在,因为移库先移入里面,后移入外面) |
| | | //SlotStatus 0: 空储位 1:有货 2:正在入库 3:正在出库 4:正在移入 5:正在移出 |
| | | sqlString = $"select count(*) from SysStorageLocat where LocatNo = '{addressee}' and Status = '0' and Flag in ('0','1') ; "; |
| | | var rowNum = Db.Ado.SqlQuery<int>(sqlString).First(); |
| | | if (rowNum == 0) |
| | | { |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | nowAddress = item.LocatNo; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | if (nowAddress == "") |
| | | { |
| | | // 判断同巷道外排空库位 |
| | | sqlString = $@"select LocatNo,[Row],[Column],Layer, (ABS(Row-{row}) + ABS([Column]-{lie}) + ABS(Layer-{ceng})) as distNum |
| | | from SysStorageLocat |
| | | where Flag = '0' and Status = '0' and Depth = '01' and RoadwayNo = '{roadWay}' and AreaNo in '{category}' |
| | | order by distNum;"; |
| | | var adderModeling = Db.Ado.SqlQuery<AddressCls>(sqlString).ToList(); |
| | | if (adderModeling.Count > 0) |
| | | { |
| | | nowAddress = adderModeling[0].LocatNo; |
| | | } |
| | | else |
| | | { |
| | | // 库内不存在空储位 |
| | | nowAddress = ""; |
| | | } |
| | | } |
| | | |
| | | |
| | | return nowAddress; |
| | | } |
| | | |
| | | //获取平库托盘信息 |
| | | public List<BoxInfo> GetPingKuInfoByPallet(string soNo, string palletNo) |
| | | { |
| | |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | string AddArrivalNotice(ArrivalNoticeVm model); |
| | | string AddArrivalNotice(ArrivalNoticeVm model, string url); |
| | | /// <summary> |
| | | /// 编辑入库单 |
| | | /// </summary> |
| | |
| | | using WMS.IBLL.IBllAsnServer; |
| | | using WMS.IBLL.ILogServer; |
| | | using Model.ModelVm.BllAsnVm; |
| | | using Wms.Tools; |
| | | using Microsoft.Extensions.Options; |
| | | |
| | | namespace Wms.Controllers |
| | | { |
| | |
| | | public class BllAsnController : ControllerBase |
| | | { |
| | | #region 依赖注入 |
| | | private readonly ApiUrlConfig _config; //接口交互路径 |
| | | private readonly IArrivalNoticeServer _arrivalNoticeSvc; // 入库单据Svc |
| | | private readonly IPalletBindServer _PalletBindSvc; // 托盘绑定Svc |
| | | private readonly IBllBoxInfoServer _BoxInfoSvc; |
| | |
| | | #endregion |
| | | |
| | | #region 构造函数 |
| | | public BllAsnController(IArrivalNoticeServer arrivalNoticeSvc, IPalletBindServer palletBindSvc,IBllBoxInfoServer bllBoxInfoSvc, ITaskServer taskSvc,IOperationASNServer logSvc, IPalletUnbindServer palletUnbind,IAuditLogServer auditLog,IBllLabelBoxNoServer labelBox) |
| | | public BllAsnController(IOptions<ApiUrlConfig> setting, IArrivalNoticeServer arrivalNoticeSvc, IPalletBindServer palletBindSvc,IBllBoxInfoServer bllBoxInfoSvc, ITaskServer taskSvc,IOperationASNServer logSvc, IPalletUnbindServer palletUnbind,IAuditLogServer auditLog,IBllLabelBoxNoServer labelBox) |
| | | { |
| | | _config = setting.Value; |
| | | _arrivalNoticeSvc = arrivalNoticeSvc; |
| | | _PalletBindSvc = palletBindSvc; |
| | | _BoxInfoSvc = bllBoxInfoSvc; |
| | |
| | | } |
| | | |
| | | model.CreateUser = int.Parse(UserId); |
| | | string strMesage = _arrivalNoticeSvc.AddArrivalNotice(model); |
| | | string strMesage = _arrivalNoticeSvc.AddArrivalNotice(model, _config.WcsHost + _config.AddOrderTaskUrl); |
| | | |
| | | if (strMesage == "") |
| | | { |
| | |
| | | |
| | | #endregion |
| | | |
| | | #region WCS |
| | | /// <summary> |
| | | /// //给WCS下发入库单信息 |
| | | /// </summary> |
| | | public string AddOrderTaskUrl { get; set; } |
| | | #endregion |
| | | } |
| | | } |
| | |
| | | // WCS |
| | | "IssueComApiUrl": "/api/demo/wcsTasks", //下发命令(出库、移库) |
| | | "IssueComApiUrl2": "/api/demo/wcsTask", //"/api/WCSApi/AddTask", //重新下发命令(出库、移库) |
| | | "AddOrderTaskUrl": "/api/demo/addOrderTask", //WMS给WCS下发的入库单任务 |
| | | |
| | | // ERP |
| | | "AsnFinishUrl": "/api/wmsInterface/OutStockTask", //入库订单关闭 |