Merge branch 'dev' of https://git.tuotong-tech.com/tnb/tnb.server into dev
This commit is contained in:
@@ -19,6 +19,10 @@ namespace Tnb.WarehouseMgr.Entities.Consts
|
||||
/// </summary>
|
||||
public const string WMS_PRETASK_H_ENCODE = "PreTaskGen";
|
||||
/// <summary>
|
||||
/// 任务执行ENCODE
|
||||
/// </summary>
|
||||
public const string WMS_TASK_EXECUTE_ENCODE = "WmsTaskRequest";
|
||||
/// <summary>
|
||||
/// 预任务单据状态-待下发Id
|
||||
/// </summary>
|
||||
public const string PRETASK_BILL_STATUS_DXF_ID = "26126822610469";
|
||||
@@ -38,6 +42,12 @@ namespace Tnb.WarehouseMgr.Entities.Consts
|
||||
/// 预任务单据状态-已完成Id
|
||||
/// </summary>
|
||||
public const string PRETASK_BILL_STATUS_CANCEL_ID = "26126842129701";
|
||||
|
||||
//
|
||||
/// <summary>
|
||||
/// 任务单据状态-待执行Id
|
||||
/// </summary>
|
||||
public const string TASK_BILL_STATUS_DZX_ID = "26126851525157";
|
||||
//
|
||||
/// <summary>
|
||||
/// 任务单据状态-已下达Id
|
||||
|
||||
@@ -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; }
|
||||
|
||||
@@ -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);
}
}
|
||||
@@ -47,10 +47,12 @@ namespace Tnb.WarehouseMgr
|
||||
{
|
||||
private readonly ISqlSugarClient _db;
|
||||
private readonly IDictionaryDataService _dictionaryDataService;
|
||||
public WareHouseService(ISqlSugarRepository<WmsInstockH> repository, IDictionaryDataService dictionaryDataService)
|
||||
private readonly IBillRullService _billRullService;
|
||||
public WareHouseService(ISqlSugarRepository<WmsInstockH> repository, IDictionaryDataService dictionaryDataService, IBillRullService billRullService)
|
||||
{
|
||||
_db = repository.AsSugarClient();
|
||||
_dictionaryDataService = dictionaryDataService;
|
||||
_billRullService= billRullService;
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据载具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<List<WmsDistaskH>>();
|
||||
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
|
||||
/// </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();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -149,7 +149,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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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,9 @@ namespace Tnb.WarehouseMgr
|
||||
}
|
||||
}
|
||||
}
|
||||
await _wareHouseService.GenTaskHandleAfter(preTaskUpInput);
|
||||
await _db.Insertable(preTaskUpInput.PreTaskRecord).ExecuteCommandAsync();
|
||||
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();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user