This commit is contained in:
alex
2023-06-15 19:36:41 +08:00
parent 36cb3ec766
commit 50dc30f76a
11 changed files with 18 additions and 15 deletions

View File

@@ -20,6 +20,10 @@ namespace Tnb.WarehouseMgr.Entities.Dto
/// </summary>
public string CarryId { get; set; }
/// <summary>
/// 载具Code
/// </summary>
public string CarryCode { get; set; }
/// <summary>
/// 载具起始库位Id
/// </summary>
public string CarryStartLocationId { get; set; }

View File

@@ -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{ /// <summary> /// 库房业务(出入库)接口
 /// </summary> public interface IWareHouseService { /// <summary> /// 入库策略
 /// </summary> /// <param name="input"></param> /// <returns></returns> Task<List<BasLocation>> InStockStrategy([FromQuery] InStockStrategyQuery input); /// <summary> /// 出库策略
 /// </summary> /// <param name="input"></param> /// <returns></returns> //Task<List<WmsCarryH>> OutStockStrategy([FromQuery] OutStockStrategyQuery input); /// <summary> /// 路径算法
 /// </summary> /// <param name="pStartId"></param> /// <param name="pEndId"></param> /// <returns></returns> Task<List<WmsPointH>> PathAlgorithms(string pStartId, string pEndId); /// <summary> /// 生成预任务
 /// </summary> /// <param name="preTasks"></param> /// <returns></returns> Task<bool> GenPreTask(List<WmsPretaskH> preTasks); /// <summary> /// 生成预任务成功后操作
 /// </summary> /// <param name="input"></param> /// <returns></returns> Task GenTaskHandleAfter(GenPreTaskUpInput input); }}
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{ /// <summary> /// 库房业务(出入库)接口
 /// </summary> public interface IWareHouseService { /// <summary> /// 入库策略
 /// </summary> /// <param name="input"></param> /// <returns></returns> Task<List<BasLocation>> InStockStrategy([FromQuery] InStockStrategyQuery input); /// <summary> /// 出库策略
 /// </summary> /// <param name="input"></param> /// <returns></returns> //Task<List<WmsCarryH>> OutStockStrategy([FromQuery] OutStockStrategyQuery input); /// <summary> /// 路径算法
 /// </summary> /// <param name="pStartId"></param> /// <param name="pEndId"></param> /// <returns></returns> Task<List<WmsPointH>> PathAlgorithms(string pStartId, string pEndId); /// <summary> /// 生成预任务
 /// </summary> /// <param name="preTasks"></param> /// <returns></returns> Task<bool> GenPreTask(List<WmsPretaskH> preTasks); /// <summary> /// 生成预任务成功后操作
 /// </summary> /// <param name="input"></param> /// <returns></returns> Task GenInStockTaskHandleAfter(GenPreTaskUpInput input); }}

View File

@@ -460,16 +460,14 @@ namespace Tnb.WarehouseMgr
/// </summary>
/// <returns></returns>
[NonAction]
public async Task GenTaskHandleAfter(GenPreTaskUpInput input)
public async Task GenInStockTaskHandleAfter(GenPreTaskUpInput input)
{
try
{
await _db.Ado.BeginTranAsync();
//根据载具移入Id回更单据状态
await _db.Updateable<WmsMoveInstock>().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();
}

View File

@@ -138,8 +138,10 @@ namespace Tnb.WarehouseMgr
handleH.create_id = _userManager.UserId;
handleH.create_time = DateTime.Now;
preTaskUpInput.PreTaskRecord = handleH;
//根据载具移入Id回更单据状态
await _db.Updateable<WmsMoveInstock>().SetColumns(it => new WmsMoveInstock { status = WmsWareHouseConst.BILLSTATUS_ON_ID }).Where(it => it.id == preTaskUpInput.PreTaskId).ExecuteCommandAsync();
await _wareHouseService.GenTaskHandleAfter(preTaskUpInput);
await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput);
}
}

View File

@@ -124,7 +124,7 @@ namespace Tnb.WarehouseMgr
preTaskUpInput.LocationIds = points.Select(x => x.location_id).ToList();
preTaskUpInput.PreTaskRecords = preTasks.Adapt<List<WmsHandleH>>();
preTaskUpInput.PreTaskRecords.ForEach(x => x.id = SnowflakeIdHelper.NextId());
await _wareHouseService.GenTaskHandleAfter(preTaskUpInput);
await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput);
}
}

View File

@@ -125,7 +125,7 @@ namespace Tnb.WarehouseMgr
preTaskUpInput.LocationIds = points.Select(x => x.id).ToList();
preTaskUpInput.PreTaskRecords = preTasks.Adapt<List<WmsHandleH>>();
preTaskUpInput.PreTaskRecords.ForEach(x => x.id = SnowflakeIdHelper.NextId());
await _wareHouseService.GenTaskHandleAfter(preTaskUpInput);
await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput);
}
}

View File

@@ -81,7 +81,6 @@ namespace Tnb.WarehouseMgr
var carrys = await _db.Queryable<WmsCarryH>().LeftJoin<BasLocation>((a, b) => a.location_id == b.id)
.Where(a => a.carrystd_id == input.data[nameof(WmsEmptyOutstockH.carrystd_id)].ToString())
.ToListAsync();
carrys.Where()
WmsPointH sPoint = null;
WmsPointH ePoint = null;
if (input.data.ContainsKey(nameof(WmsPointH.location_id)))
@@ -137,7 +136,7 @@ namespace Tnb.WarehouseMgr
preTaskUpInput.LocationIds = points.Select(x => x.id).ToList();
preTaskUpInput.PreTaskRecords = preTasks.Adapt<List<WmsHandleH>>();
preTaskUpInput.PreTaskRecords.ForEach(x => x.id = SnowflakeIdHelper.NextId());
await _wareHouseService.GenTaskHandleAfter(preTaskUpInput);
await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput);
}
}
}

View File

@@ -127,7 +127,7 @@ namespace Tnb.WarehouseMgr
preTaskUpInput.LocationIds = points.Select(x => x.location_id).ToList();
preTaskUpInput.PreTaskRecords = preTasks.Adapt<List<WmsHandleH>>();
preTaskUpInput.PreTaskRecords.ForEach(x => x.id = SnowflakeIdHelper.NextId());
await _wareHouseService.GenTaskHandleAfter(preTaskUpInput);
await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput);
}
}

View File

@@ -124,7 +124,7 @@ namespace Tnb.WarehouseMgr
preTaskUpInput.LocationIds = points.Select(x => x.location_id).ToList();
preTaskUpInput.PreTaskRecords = preTasks.Adapt<List<WmsHandleH>>();
preTaskUpInput.PreTaskRecords.ForEach(x => x.id = SnowflakeIdHelper.NextId());
await _wareHouseService.GenTaskHandleAfter(preTaskUpInput);
await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput);
}
}

View File

@@ -125,7 +125,7 @@ namespace Tnb.WarehouseMgr
preTaskUpInput.LocationIds = points.Select(x => x.id).ToList();
preTaskUpInput.PreTaskRecords = preTasks.Adapt<List<WmsHandleH>>();
preTaskUpInput.PreTaskRecords.ForEach(x => x.id = SnowflakeIdHelper.NextId());
await _wareHouseService.GenTaskHandleAfter(preTaskUpInput);
await _wareHouseService.GenInStockTaskHandleAfter(preTaskUpInput);
}
}

View File

@@ -157,7 +157,6 @@ namespace Tnb.WarehouseMgr
handleCode.code_batch = jo.Value<string>(nameof(WmsHandleCode.code_batch));
handleCode.codeqty = jo.Value<int>(nameof(WmsHandleCode.codeqty));
handleCode.unit_id = _db.Queryable<BasMaterial>().Single(it => it.id == materialId).unit_id;
//handleCode.unit_code=_db.Queryable<BasMaterial>().Single(it => it.id == materialId);
handleCode.create_id = _userManager.UserId;
handleCode.create_time = DateTime.Now;
preTaskUpInput.PreTaskHandleCodes.Add(handleCode);
@@ -165,7 +164,8 @@ namespace Tnb.WarehouseMgr
}
}
}
await _wareHouseService.GenTaskHandleAfter(preTaskUpInput);
await _db.Updateable<WmsCarryH>().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();
}
}
}