diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs index ea87929d..88261f3e 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Consts/WmsWareHouseConst.cs @@ -19,6 +19,10 @@ namespace Tnb.WarehouseMgr.Entities.Consts /// public const string WMS_PRETASK_H_ENCODE = "PreTaskGen"; /// + /// 任务执行ENCODE + /// + public const string WMS_TASK_EXECUTE_ENCODE = "WmsTaskRequest"; + /// /// 预任务单据状态-待下发Id /// public const string PRETASK_BILL_STATUS_DXF_ID = "26126822610469"; @@ -38,6 +42,12 @@ namespace Tnb.WarehouseMgr.Entities.Consts /// 预任务单据状态-已完成Id /// public const string PRETASK_BILL_STATUS_CANCEL_ID = "26126842129701"; + + // + /// + /// 任务单据状态-待执行Id + /// + public const string TASK_BILL_STATUS_DZX_ID = "26126851525157"; // /// /// 任务单据状态-已下达Id diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/GenPreTaskUpInput.cs b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/GenPreTaskUpInput.cs index 0c4907b6..f4decc33 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/GenPreTaskUpInput.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Entities/Dto/Inputs/GenPreTaskUpInput.cs @@ -20,6 +20,10 @@ namespace Tnb.WarehouseMgr.Entities.Dto /// public string CarryId { get; set; } /// + /// 载具Code + /// + public string CarryCode { get; set; } + /// /// 载具起始库位Id /// public string CarryStartLocationId { get; set; } diff --git a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs index ca5fb036..52e6804a 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr.Interfaces/IWareHouseService.cs @@ -1 +1 @@ -using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Tnb.BasicData.Entities;
using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Dto;

namespace Tnb.WarehouseMgr.Interfaces
{
 /// 
 /// 库房业务(出入库)接口
 /// 
 public interface IWareHouseService
 {
 /// 
 /// 入库策略
 /// 
 /// 
 /// 
 Task> InStockStrategy([FromQuery] InStockStrategyQuery input);
 /// 
 /// 出库策略
 /// 
 /// 
 /// 
 //Task> OutStockStrategy([FromQuery] OutStockStrategyQuery input);
 /// 
 /// 路径算法
 /// 
 /// 
 /// 
 /// 
 Task> PathAlgorithms(string pStartId, string pEndId);
 /// 
 /// 生成预任务
 /// 
 /// 
 /// 
 Task GenPreTask(List preTasks);
 /// 
 /// 生成预任务成功后操作
 /// 
 /// 
 /// 
 Task GenTaskHandleAfter(GenPreTaskUpInput input);
 }
}
 \ No newline at end of file +using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Tnb.BasicData.Entities;
using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Dto;

namespace Tnb.WarehouseMgr.Interfaces
{
 /// 
 /// 库房业务(出入库)接口
 /// 
 public interface IWareHouseService
 {
 /// 
 /// 入库策略
 /// 
 /// 
 /// 
 Task> InStockStrategy([FromQuery] InStockStrategyQuery input);
 /// 
 /// 出库策略
 /// 
 /// 
 /// 
 //Task> OutStockStrategy([FromQuery] OutStockStrategyQuery input);
 /// 
 /// 路径算法
 /// 
 /// 
 /// 
 /// 
 Task> PathAlgorithms(string pStartId, string pEndId);
 /// 
 /// 生成预任务
 /// 
 /// 
 /// 
 Task GenPreTask(List preTasks);
 /// 
 /// 生成预任务成功后操作
 /// 
 /// 
 /// 
 Task GenInStockTaskHandleAfter(GenPreTaskUpInput input);
 }
}
 \ No newline at end of file diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs index ed3d97f3..2e015270 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WareHouseService.cs @@ -47,10 +47,12 @@ namespace Tnb.WarehouseMgr { private readonly ISqlSugarClient _db; private readonly IDictionaryDataService _dictionaryDataService; - public WareHouseService(ISqlSugarRepository repository, IDictionaryDataService dictionaryDataService) + private readonly IBillRullService _billRullService; + public WareHouseService(ISqlSugarRepository repository, IDictionaryDataService dictionaryDataService, IBillRullService billRullService) { _db = repository.AsSugarClient(); _dictionaryDataService = dictionaryDataService; + _billRullService= billRullService; } /// /// 根据载具Id带出库位、仓库信息 @@ -231,6 +233,7 @@ namespace Tnb.WarehouseMgr items.ForEach(x => { x.is_chain = 0; + x.chain_type = "0"; }); } @@ -266,6 +269,12 @@ namespace Tnb.WarehouseMgr { var moveNum = itGroup.First().move_num; var items = itGroup.Adapt>(); + items.ForEach(x => + { + x.status = WmsWareHouseConst.TASK_BILL_STATUS_DZX_ID; + x.bill_code = _billRullService.GetBillNumber(WmsWareHouseConst.WMS_TASK_EXECUTE_ENCODE).GetAwaiter().GetResult(); + x.is_sign = 1; + }); var areaPreTasks = itGroup.ToList(); if (moveNum == 1) { @@ -460,16 +469,14 @@ namespace Tnb.WarehouseMgr /// /// [NonAction] - public async Task GenTaskHandleAfter(GenPreTaskUpInput input) + public async Task GenInStockTaskHandleAfter(GenPreTaskUpInput input) { try { await _db.Ado.BeginTranAsync(); - //根据载具移入Id,回更单据状态 - await _db.Updateable().SetColumns(it => new WmsMoveInstock { status = WmsWareHouseConst.BILLSTATUS_ON_ID }).Where(it => it.id == input.PreTaskId).ExecuteCommandAsync(); //根据生成的预任务,插入预任务操作记录 await _db.Insertable(input.PreTaskRecord).ExecuteCommandAsync(); - if(input.PreTaskHandleCodes.Count > 0) + if (input.PreTaskHandleCodes.Count > 0) { await _db.Insertable(input.PreTaskHandleCodes).ExecuteCommandAsync(); } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveInStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveInStockService.cs index 63e394d2..d1273e6c 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveInStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveInStockService.cs @@ -138,8 +138,10 @@ namespace Tnb.WarehouseMgr handleH.create_id = _userManager.UserId; handleH.create_time = DateTime.Now; preTaskUpInput.PreTaskRecord = handleH; + //根据载具移入Id,回更单据状态 + await _db.Updateable().SetColumns(it => new WmsMoveInstock { status = WmsWareHouseConst.BILLSTATUS_ON_ID }).Where(it => it.id == preTaskUpInput.PreTaskId).ExecuteCommandAsync(); - await _wareHouseService.GenTaskHandleAfter(preTaskUpInput); + await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput); } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveOutStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveOutStockService.cs index d4610965..4e6ea11c 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveOutStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryMoveOutStockService.cs @@ -124,7 +124,7 @@ namespace Tnb.WarehouseMgr preTaskUpInput.LocationIds = points.Select(x => x.location_id).ToList(); preTaskUpInput.PreTaskRecords = preTasks.Adapt>(); preTaskUpInput.PreTaskRecords.ForEach(x => x.id = SnowflakeIdHelper.NextId()); - await _wareHouseService.GenTaskHandleAfter(preTaskUpInput); + await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput); } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyInstockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyInstockService.cs index 5adddff7..2b9b5057 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyInstockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyInstockService.cs @@ -125,7 +125,7 @@ namespace Tnb.WarehouseMgr preTaskUpInput.LocationIds = points.Select(x => x.id).ToList(); preTaskUpInput.PreTaskRecords = preTasks.Adapt>(); preTaskUpInput.PreTaskRecords.ForEach(x => x.id = SnowflakeIdHelper.NextId()); - await _wareHouseService.GenTaskHandleAfter(preTaskUpInput); + await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput); } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs index 03277942..7f0cad59 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsEmptyOutstockService .cs @@ -149,7 +149,7 @@ namespace Tnb.WarehouseMgr preTaskUpInput.LocationIds = points.Select(x => x.id).ToList(); preTaskUpInput.PreTaskRecords = preTasks.Adapt>(); preTaskUpInput.PreTaskRecords.ForEach(x => x.id = SnowflakeIdHelper.NextId()); - await _wareHouseService.GenTaskHandleAfter(preTaskUpInput); + await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput); } } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveInStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveInStockService.cs index c7340eaf..9d9f3e51 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveInStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveInStockService.cs @@ -127,7 +127,7 @@ namespace Tnb.WarehouseMgr preTaskUpInput.LocationIds = points.Select(x => x.location_id).ToList(); preTaskUpInput.PreTaskRecords = preTasks.Adapt>(); preTaskUpInput.PreTaskRecords.ForEach(x => x.id = SnowflakeIdHelper.NextId()); - await _wareHouseService.GenTaskHandleAfter(preTaskUpInput); + await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput); } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveOutStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveOutStockService.cs index c5044282..0b12afc7 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveOutStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDACarryMoveOutStockService.cs @@ -124,7 +124,7 @@ namespace Tnb.WarehouseMgr preTaskUpInput.LocationIds = points.Select(x => x.location_id).ToList(); preTaskUpInput.PreTaskRecords = preTasks.Adapt>(); preTaskUpInput.PreTaskRecords.ForEach(x => x.id = SnowflakeIdHelper.NextId()); - await _wareHouseService.GenTaskHandleAfter(preTaskUpInput); + await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput); } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyInstockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyInstockService.cs index 33c6c57c..270e933a 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyInstockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAEmptyInstockService.cs @@ -125,7 +125,7 @@ namespace Tnb.WarehouseMgr preTaskUpInput.LocationIds = points.Select(x => x.id).ToList(); preTaskUpInput.PreTaskRecords = preTasks.Adapt>(); preTaskUpInput.PreTaskRecords.ForEach(x => x.id = SnowflakeIdHelper.NextId()); - await _wareHouseService.GenTaskHandleAfter(preTaskUpInput); + await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput); } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAInStockService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAInStockService.cs index 001de9db..56c393ec 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAInStockService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAInStockService.cs @@ -157,7 +157,6 @@ namespace Tnb.WarehouseMgr handleCode.code_batch = jo.Value(nameof(WmsHandleCode.code_batch)); handleCode.codeqty = jo.Value(nameof(WmsHandleCode.codeqty)); handleCode.unit_id = _db.Queryable().Single(it => it.id == materialId).unit_id; - //handleCode.unit_code=_db.Queryable().Single(it => it.id == materialId); handleCode.create_id = _userManager.UserId; handleCode.create_time = DateTime.Now; preTaskUpInput.PreTaskHandleCodes.Add(handleCode); @@ -165,7 +164,9 @@ namespace Tnb.WarehouseMgr } } } - await _wareHouseService.GenTaskHandleAfter(preTaskUpInput); + await _db.Insertable(preTaskUpInput.PreTaskRecord).ExecuteCommandAsync(); + await _db.Updateable().SetColumns(it => new WmsCarryH { carry_code = input.data[nameof(WmsCarryH.carry_code)].ToString(), is_lock = 1, location_id = preTaskUpInput.CarryStartLocationId, location_code = preTaskUpInput.CarryStartLocationCode }).Where(it => it.id == preTaskUpInput.CarryId).ExecuteCommandAsync(); + } } }