| | |
| | | #endregion |
| | | if (locate.Status == "1") //有物品 |
| | | { |
| | | #region 添加出库任务 |
| | | #region 添加视觉盘点任务 |
| | | var taskNo = new Common().GetMaxNo("TK"); |
| | | //添加出库任务 |
| | | var exTask = new LogTask |
| | | { |
| | | TaskNo = taskNo, |
| | |
| | | IsFinish = 1,//是否可完成 |
| | | Type = "1",//任务类型 0 入库任务 1 出库任务 2 移库任务 |
| | | Status = "0",//任务状态0:等待执行1正在执行2执行完成 |
| | | OrderType = "5",////0 入库单 1 出库单 2 盘点单 3 移库单 4 取样出库单 5视觉盘点 |
| | | OrderType = "6",////0 入库单 1 出库单 2 盘点单 3 移库单 4 取样出库单 6视觉盘点 |
| | | Msg = $"{locateNo}的视觉盘点任务", |
| | | CreateTime = time |
| | | }; |
| | |
| | | await Db.Updateable(notice).ExecuteCommandAsync(); |
| | | } |
| | | } |
| | | locate.Status = "3"; //要出库的储位改变状态 正在出库 |
| | | //locate.Status = "3"; //要出库的储位改变状态 正在出库 |
| | | await Db.Updateable(locate).ExecuteCommandAsync(); |
| | | |
| | | item.TaskNo = exTask.TaskNo; // 出库分配信息中更新任务号 |
| | |
| | | return outDtoList; |
| | | #endregion |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 视觉盘点传结果 |
| | | /// </summary> |
| | | /// <param name="crNo"></param> |
| | | /// <param name="url"></param> |
| | | /// <param name="str"></param> |
| | | /// <returns></returns> |
| | | public async Task CheckVision(CheckVm model) |
| | | { |
| | | if (string.IsNullOrWhiteSpace(model.CrNo)) |
| | | { |
| | | throw Oops.Bah("盘点单据不能为空"); |
| | | } |
| | | if (string.IsNullOrWhiteSpace(model.SkuNo)) |
| | | { |
| | | throw Oops.Bah("物料不能为空"); |
| | | } |
| | | if (string.IsNullOrWhiteSpace(model.LotNo)) |
| | | { |
| | | throw Oops.Bah("物料批次不能为空"); |
| | | } |
| | | if (string.IsNullOrWhiteSpace(model.PalletNo)) |
| | | { |
| | | throw Oops.Bah("托盘码不能为空"); |
| | | } |
| | | //盘点明细 |
| | | var checkDetail = await Db.Queryable<BllStockCheckDetail>().FirstAsync(m => |
| | | m.IsDel == "0" && m.CRNo == model.CrNo && m.PalletNo == model.PalletNo && m.SkuNo == model.SkuNo && m.LotNo == model.LotNo); |
| | | if (checkDetail == null) |
| | | { |
| | | throw Oops.Bah("未查询到未盘点的盘点明细信息"); |
| | | } |
| | | var modSku = await Db.Queryable<SysMaterials>().Where(s => s.SkuNo == model.SkuNo).FirstAsync(); |
| | | |
| | | } |
| | | //盘点出库完成 |
| | | public async Task CheckSuccess(string taskNo, int userId) |
| | | { |
| | |
| | | task.IsFinish = 0; |
| | | task.FinishDate = DateTime.Now;//完成时间 |
| | | await Db.Updateable(task).ExecuteCommandAsync(); |
| | | locate.Status = "0"; // 更改当前任务中的储位状态(改为0空储位) |
| | | await Db.Updateable(locate).ExecuteCommandAsync(); |
| | | foreach (var item in stockDetail) |
| | | if(task.OrderType != "6")//视觉盘点不更改状态 |
| | | { |
| | | item.LocatNo = "";//储位更改(改为空) |
| | | item.WareHouseNo = "";//所属仓库更改(改为空) |
| | | item.RoadwayNo = "";//所属巷道更改(改为空) |
| | | item.AreaNo = "";//所属区域更改(改为空) |
| | | await Db.Updateable(item).ExecuteCommandAsync(); |
| | | locate.Status = "0"; // 更改当前任务中的储位状态(改为0空储位) |
| | | await Db.Updateable(locate).ExecuteCommandAsync(); |
| | | foreach (var item in stockDetail) |
| | | { |
| | | item.LocatNo = "";//储位更改(改为空) |
| | | item.WareHouseNo = "";//所属仓库更改(改为空) |
| | | item.RoadwayNo = "";//所属巷道更改(改为空) |
| | | item.AreaNo = "";//所属区域更改(改为空) |
| | | await Db.Updateable(item).ExecuteCommandAsync(); |
| | | } |
| | | } |
| | | //盘点明细(更改状态) |
| | | var checkDetails = await Db.Queryable<BllStockCheckDetail>().Where(m => m.IsDel == "0" && (m.TaskNo == taskNo || (m.Status == 1 && m.PalletNo == task.PalletNo))).ToListAsync(); |