| | |
| | | |
| | | if (modelList.Count > 0) |
| | | { |
| | | if (!string.IsNullOrWhiteSpace(modelList[0].PackagNo)) |
| | | { |
| | | // 查询整托数量 此处UDF1用来存储整托数量。 |
| | | var packagModel = Db.Queryable<SysPackag>().Where(m => m.PackagNo == modelList[0].PackagNo && m.IsDel == "0").First(); |
| | | switch (packagModel.Level.ToString()) |
| | | { |
| | | case "1": modelList[0].UDF1 = packagModel.L1Num.ToString(); break; |
| | | case "2": modelList[0].UDF1 = packagModel.L2Num.ToString(); break; |
| | | case "3": modelList[0].UDF1 = packagModel.L3Num.ToString(); break; |
| | | case "4": modelList[0].UDF1 = packagModel.L4Num.ToString(); break; |
| | | default: modelList[0].UDF1 = packagModel.L5Num.ToString(); break; |
| | | } |
| | | } |
| | | return modelList[0]; |
| | | } |
| | | |
| | |
| | | try |
| | | { |
| | | string sqlString = string.Empty; |
| | | sqlString = "select b.SkuNo,b.SkuName,a.LotNo,a.Qty,a.PalletNo,a.Id from BllPalletBind a left join BllArrivalNoticeDetail b on a.ASNDetailNo = b.Id where a.IsDel = '0' and b.IsDel = '0' "; |
| | | sqlString = "select b.SkuNo,b.SkuName,a.LotNo,a.Qty,a.PalletNo,a.Id from BllPalletBind a " + |
| | | "left join BllArrivalNoticeDetail b on a.ASNDetailNo = b.Id where a.IsDel = '0' and b.IsDel = '0' "; |
| | | if (!string.IsNullOrEmpty(model.PalletNo)) |
| | | { |
| | | sqlString += $"and PalletNo = '{model.PalletNo}' and a.Status = '0' "; |
| | |
| | | #endregion |
| | | |
| | | #region 地码信息(储位信息) |
| | | var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == model.LocatNo && w.Status == "0" && w.WareHouseNo == "W02"); |
| | | var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == model.LocatNo && w.Status == "0"); |
| | | if (storageLocat == null) |
| | | { |
| | | strMsg = "-1:储位信息不存在或非空闲状态,请核查!"; |
| | |
| | | BoxNo, |
| | | SkuNo, |
| | | SkuName, |
| | | LotNo, |
| | | LotNo, |
| | | BitBoxMark, |
| | | SUM(Qty) as Qty |
| | | FROM BllBoxInfo |
| | | WHERE IsDel = '0' |
| | | AND Status='0' |
| | | AND BoxNo = '{model.BoxNo}' |
| | | GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo; "; |
| | | GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; "; |
| | | var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString); |
| | | |
| | | if (models == null) |
| | | if (models.Count == 0 ) |
| | | { |
| | | throw new Exception("箱码信息不存在!"); |
| | | } |
| | |
| | | throw ex; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据箱码向追溯系统请求标签箱码信息 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | public List<BoxInfoDto> GetFMBindBoxInfos(string boxno) |
| | | { |
| | | try |
| | | { |
| | | #region 箱码请求接口,正式系统放开 |
| | | /*var jsonData = JsonConvert.SerializeObject(boxno); |
| | | |
| | | var response = HttpHelper.DoPost(url, jsonData, "箱码信息请求", "FM"); |
| | | |
| | | var obj = JsonConvert.DeserializeObject<ErpModel>(response);//解析返回数据 |
| | | if (obj.Success != 0) |
| | | { |
| | | throw new Exception("请求失败" + obj.Message); |
| | | }*/ |
| | | #endregion |
| | | string sqlString = $@"SELECT |
| | | ASNNo, |
| | | BoxNo, |
| | | SkuNo, |
| | | SkuName, |
| | | LotNo, |
| | | BitBoxMark, |
| | | SUM(Qty) as Qty |
| | | FROM BllBoxInfo |
| | | WHERE IsDel = '0' |
| | | AND Status='0' |
| | | AND BoxNo = '{boxno}' |
| | | GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; "; |
| | | var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString); // response |
| | | |
| | | if (models.Count == 0) |
| | | { |
| | | throw new Exception("箱码信息不存在!"); |
| | | } |
| | | |
| | | return models; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw ex; |
| | | } |
| | | } |
| | | |
| | | // 根据单据号获取单据明细列表 |
| | | public List<ArrivalNoticeDetailDto> GetBindArrivalNoticeDetails(ArrivalNoticeVm model) |
| | | { |
| | |
| | | var bindId = 0; |
| | | if (bind == null) |
| | | { |
| | | DateTime? pTime = null; |
| | | DateTime? eTime = null; |
| | | if (!string.IsNullOrWhiteSpace(detail.Lot1)) |
| | | { |
| | | pTime = DateTime.Parse(detail.Lot1); |
| | | } |
| | | if (!string.IsNullOrWhiteSpace(detail.Lot2)) |
| | | { |
| | | eTime = DateTime.Parse(detail.Lot2); |
| | | } |
| | | |
| | | |
| | | bind = new BllPalletBind |
| | | { |
| | | ASNNo = model.AsnNo, |
| | |
| | | SupplierLot = detail.SupplierLot, |
| | | //InspectMark = model.IsSample, //是否取样托盘 后期业务开发时 接口传值需添加对应字段判断 |
| | | //SamplingQty = 0, //取样数量 后期业务开发时 接口传值需添加对应字段判断 |
| | | ProductionTime = pTime, |
| | | ExpirationTime = eTime, |
| | | BitPalletMark = "1", |
| | | IsBale = "0", |
| | | IsBelt = "0", |
| | |
| | | } |
| | | else |
| | | { |
| | | string inspectStatusStr = "0"; |
| | | if (sku.IsInspect == "1") |
| | | { |
| | | inspectStatusStr = "1"; |
| | | } |
| | | |
| | | // 库存不存在 插入数据 |
| | | sd1 = new DataStockDetail() |
| | | { |
| | |
| | | ExpirationTime = bind.ExpirationTime, |
| | | Status = "0", |
| | | InspectMark = bind.InspectMark, |
| | | InspectStatus = sku.IsInspect, |
| | | InspectStatus = inspectStatusStr, |
| | | BitPalletMark = bind.BitPalletMark, |
| | | PackagNo = detail.PackagNo, //liudl 由sku的包装编号变为入库单明细的包装编码 |
| | | IsBale = bind.IsBale, |
| | |
| | | sqlStr += $"insert into LogPalletTrack values('{model.PalletNo}','{model.AsnNo}','组盘','0',getDate(),{userId},NULL,NULL);"; |
| | | Db.Ado.ExecuteCommand(sqlStr); |
| | | new OperationASNServer().AddLogOperationAsn("PDA模块", "托盘绑定", model.AsnNo, "添加", $"添加了托盘码为:{model.PalletNo}的组盘信息", userId); |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | #endregion |
| | |
| | | #endregion |
| | | |
| | | #region 地码信息(储位信息) |
| | | var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == model.LocatNo && w.Status == "0" && w.WareHouseNo == "W02"); |
| | | var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == model.LocatNo && w.Status == "0"); |
| | | if (storageLocat == null) |
| | | { |
| | | throw new Exception("储位信息不存在或非空闲状态,请核查!"); |
| | |
| | | SendDate = serverTime, //发送时间 |
| | | BackDate = serverTime, //返回时间 |
| | | StartLocat = "",//起始位置 |
| | | EndLocat = "力诺平库",//目标位置 |
| | | EndLocat = "平库",//目标位置 |
| | | PalletNo = bindInfo.PalletNo,//托盘码 |
| | | IsSend = 0,//是否可再次下发 |
| | | IsCancel = 0,//是否可取消 |
| | |
| | | Type = "0",//任务类型 0 入库任务 1 出库任务 2 移库任务 |
| | | Status = "2",//任务状态0:等待执行1正在执行2执行完成 |
| | | OrderType = "0",//0 入库单 1 出库单 2 盘点单 3 移库单 |
| | | Msg = "力诺平库的入库任务", |
| | | Msg = "平库的入库任务", |
| | | }; |
| | | Db.Insertable(exTask).ExecuteCommand(); |
| | | |
| | |
| | | bindInfo.TaskNo = taskNo; //任务号 |
| | | Db.Updateable(bindInfo).ExecuteCommand(); |
| | | #endregion |
| | | |
| | | /* #region 添加托盘上架记录 |
| | | var upShelf = new BllPalletUpShelf() |
| | | { |
| | | TaskNo = exTask.TaskNo, |
| | | TraceNo = bindInfo.ASNNo, |
| | | PalletNo = bindInfo.PalletNo, |
| | | SkuNo = stockModel.SkuNo, |
| | | SkuName = stockModel.SkuName, |
| | | LotNo = stockModel.LotNo, |
| | | Status = "1", |
| | | |
| | | WareHouseNo = bindInfo.WareHouseNo, |
| | | RoadwayNo = bindInfo.RoadwayNo, |
| | | AreaNo = "", |
| | | LocatNo = "", |
| | | |
| | | CreateUser = 0, |
| | | }; |
| | | Db.Insertable(upShelf).ExecuteCommand(); |
| | | #endregion*/ |
| | | |
| | | #region 库存箱支明细表 |
| | | // 插入新组的箱支信息 |
| | |
| | | //修改库存明细信息 |
| | | foreach (var item in stockDetail) |
| | | { |
| | | item.Status = "0"; //状态更改为待分配 |
| | | item.WareHouseNo = "W02"; //所属仓库 |
| | | item.LocatNo = model.LocatNo;//储位地址 |
| | | item.UpdateTime = serverTime; //修改时间 |
| | | item.UpdateUser = model.CreateUser; //修改人 |
| | | item.Status = "0"; // 状态更改为待分配 |
| | | item.WareHouseNo = storageLocat.WareHouseNo; // 所属仓库 |
| | | item.RoadwayNo = storageLocat.RoadwayNo; // 所属巷道 |
| | | item.AreaNo = storageLocat.AreaNo; // 所属区域 |
| | | item.LocatNo = model.LocatNo; // 储位地址 |
| | | item.UpdateTime = serverTime; // 修改时间 |
| | | item.UpdateUser = model.CreateUser; // 修改人 |
| | | //修改库存明细信息 |
| | | Db.Updateable(item).ExecuteCommand(); |
| | | } |
| | |
| | | SendDate = DateTime.Now, //发送时间 |
| | | BackDate = DateTime.Now, //返回时间 |
| | | StartLocat = "",//起始位置 |
| | | EndLocat = "牧原平库",//目标位置 |
| | | EndLocat = "平库",//目标位置 |
| | | PalletNo = model.PalletNo,//托盘码 |
| | | IsSend = 0,//是否可再次下发 |
| | | IsCancel = 0,//是否可取消 |
| | |
| | | Type = "0",//任务类型 0 入库任务 1 出库任务 2 移库任务 |
| | | Status = "2",//任务状态0:等待执行1正在执行2执行完成 |
| | | OrderType = "3",//0 入库单 1 出库单 2 盘点单 3 移库单 |
| | | Msg = "牧原平库的入库任务", |
| | | Msg = "平库的入库任务", |
| | | }; |
| | | Db.Insertable(exTask).ExecuteCommand(); |
| | | //托盘绑定信息 |
| | | var bindInfo = Db.Queryable<BllPalletBind>().First(w => w.IsDel == "0" && w.PalletNo == model.PalletNo && w.Status == "2" && string.IsNullOrEmpty(w.LocatNo)); |
| | | var bindInfo = Db.Queryable<BllPalletBind>().First(w => w.IsDel == "0" && w.PalletNo == model.PalletNo |
| | | && w.Status == "2" && string.IsNullOrEmpty(w.LocatNo)); |
| | | if (bindInfo != null) |
| | | { |
| | | bindInfo.WareHouseNo = "W02";//所属仓库 |
| | | bindInfo.LocatNo = model.LocatNo;//储位地址 |
| | | bindInfo.WareHouseNo = storageLocat.WareHouseNo; // 所属仓库 |
| | | bindInfo.RoadwayNo = storageLocat.RoadwayNo; // 所属巷道 |
| | | bindInfo.LocatNo = model.LocatNo; // 储位地址 |
| | | bindInfo.UpdateTime = serverTime; |
| | | bindInfo.UpdateUser = model.CreateUser; |
| | | bindInfo.CompleteTime = serverTime; //完成时间 |
| | | bindInfo.TaskNo = taskNo; //任务号 |
| | | bindInfo.CompleteTime = serverTime; // 完成时间 |
| | | bindInfo.TaskNo = taskNo; // 任务号 |
| | | Db.Updateable(bindInfo).ExecuteCommand(); |
| | | } |
| | | #endregion |
| | | |
| | | #region 添加托盘上架记录 |
| | | var palletupinfo = stockDetail.First(); |
| | | var upShelf = new BllPalletUpShelf() |
| | | { |
| | | TaskNo = exTask.TaskNo, |
| | | TraceNo = bindInfo.ASNNo, |
| | | PalletNo = bindInfo.PalletNo, |
| | | SkuNo = palletupinfo.SkuNo, |
| | | SkuName = palletupinfo.SkuName, |
| | | LotNo = palletupinfo.LotNo, |
| | | Status = "2", |
| | | LocatNo = model.LocatNo, |
| | | WareHouseNo = bindInfo.WareHouseNo, |
| | | RoadwayNo = bindInfo.RoadwayNo, |
| | | AreaNo = storageLocat.AreaNo, |
| | | |
| | | CreateUser = 0, |
| | | }; |
| | | Db.Insertable(upShelf).ExecuteCommand(); |
| | | #endregion |
| | | } |
| | | storageLocat.Status = "1";//状态已使用 |
| | |
| | | //修改储位信息 |
| | | Db.Updateable(storageLocat).ExecuteCommand(); |
| | | |
| | | new OperationASNServer().AddLogOperationAsn("PDA模块", "平库入库", model.PalletNo, "完成", $"在PDA上完成单据号为:{model.ASNNo}的托盘码为:{model.PalletNo}的平库入库操作", (int)model.CreateUser); |
| | | new OperationASNServer().AddLogOperationAsn("PDA模块", "平库入库", model.PalletNo, "完成", |
| | | $"在PDA上完成单据号为:{model.ASNNo}的托盘码为:{model.PalletNo}的平库入库操作", (int)model.CreateUser); |
| | | Db.CommitTran(); |
| | | } |
| | | catch (Exception ex) |