盘点任务增加盘点签收配置
This commit is contained in:
@@ -0,0 +1,77 @@
|
|||||||
|
using JNPF.Common.Contracts;
|
||||||
|
using JNPF.Common.Security;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace Tnb.WarehouseMgr.Entities;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 盘点签收配置
|
||||||
|
/// </summary>
|
||||||
|
[SugarTable("wms_check_sign_config")]
|
||||||
|
public partial class WmsCheckSignConfig : BaseEntity<string>
|
||||||
|
{
|
||||||
|
public WmsCheckSignConfig()
|
||||||
|
{
|
||||||
|
id = SnowflakeIdHelper.NextId();
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 所属组织
|
||||||
|
/// </summary>
|
||||||
|
public string? org_id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 仓库ID
|
||||||
|
/// </summary>
|
||||||
|
public string? warehouse_id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 盘点库位
|
||||||
|
/// </summary>
|
||||||
|
public string? location_id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否启用
|
||||||
|
/// </summary>
|
||||||
|
public int? enabled { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建用户
|
||||||
|
/// </summary>
|
||||||
|
public string? create_id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? create_time { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改用户
|
||||||
|
/// </summary>
|
||||||
|
public string? modify_id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 修改时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? modify_time { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 扩展
|
||||||
|
/// </summary>
|
||||||
|
public string? extras { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 时间戳
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? timestamp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 流程任务Id
|
||||||
|
/// </summary>
|
||||||
|
public string? f_flowtaskid { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 流程引擎Id
|
||||||
|
/// </summary>
|
||||||
|
public string? f_flowid { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
using System.Linq.Expressions;
|
using System.Linq;
|
||||||
|
using System.Linq.Expressions;
|
||||||
using JNPF.Common.Core.Manager;
|
using JNPF.Common.Core.Manager;
|
||||||
using JNPF.Common.Dtos.VisualDev;
|
using JNPF.Common.Dtos.VisualDev;
|
||||||
using JNPF.Common.Extension;
|
using JNPF.Common.Extension;
|
||||||
@@ -10,6 +11,7 @@ using JNPF.VisualDev;
|
|||||||
using JNPF.VisualDev.Entitys;
|
using JNPF.VisualDev.Entitys;
|
||||||
using JNPF.VisualDev.Interfaces;
|
using JNPF.VisualDev.Interfaces;
|
||||||
using Mapster;
|
using Mapster;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using Tnb.BasicData.Entities;
|
using Tnb.BasicData.Entities;
|
||||||
using Tnb.WarehouseMgr.Entities;
|
using Tnb.WarehouseMgr.Entities;
|
||||||
@@ -127,9 +129,35 @@ namespace Tnb.WarehouseMgr
|
|||||||
//生成预任务信息
|
//生成预任务信息
|
||||||
if (details.Count > 0 && carryCodes.Count > 0)
|
if (details.Count > 0 && carryCodes.Count > 0)
|
||||||
{
|
{
|
||||||
string[] locTypes = new[] { ((int)EnumLocationType.出库库位).ToString(), ((int)EnumLocationType.出入库位).ToString() };
|
// 判断当前仓库是否有盘点签收配置
|
||||||
BasLocation[] endLocs = await _db.Queryable<BasLocation>().Where(it => it.wh_id == input.data[nameof(WmsCheckstockH.warehouse_id)].ToString() && locTypes.Contains(it.is_type)).ToArrayAsync();
|
var wcsConf = await _db.Queryable<WmsCheckSignConfig>().Where(it => it.warehouse_id == input.data[nameof(WmsCheckstockH.warehouse_id)].ToString() && it.enabled == 1)
|
||||||
int randomIndex = new Random().Next(0, endLocs.GetUpperBound(0));
|
.FirstAsync();
|
||||||
|
BasLocation[] endLocs = Array.Empty<BasLocation>();
|
||||||
|
int randomIndex = 0;
|
||||||
|
if (wcsConf != null)
|
||||||
|
{
|
||||||
|
if (wcsConf.location_id == null) {
|
||||||
|
throw new AppFriendlyException("盘点签收配置库位为空,请查看配置!", 500);
|
||||||
|
}
|
||||||
|
JArray? jsonArr = null;
|
||||||
|
jsonArr = JArray.Parse(wcsConf.location_id);
|
||||||
|
string?[] locArr = jsonArr.Select(x => x.ToObject<string>()).ToArray();
|
||||||
|
if (locArr != null)
|
||||||
|
{
|
||||||
|
endLocs = await _db.Queryable<BasLocation>().Where(it => it.wh_id == input.data[nameof(WmsCheckstockH.warehouse_id)].ToString() && locArr.Contains(it.id)).ToArrayAsync();
|
||||||
|
randomIndex = new Random().Next(0, endLocs.GetUpperBound(0));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw new AppFriendlyException("盘点签收配置有误,请查看配置!", 500);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
string[] locTypes = new[] { ((int)EnumLocationType.出库库位).ToString(), ((int)EnumLocationType.出入库位).ToString() };
|
||||||
|
endLocs = await _db.Queryable<BasLocation>().Where(it => it.wh_id == input.data[nameof(WmsCheckstockH.warehouse_id)].ToString() && locTypes.Contains(it.is_type)).ToArrayAsync();
|
||||||
|
randomIndex = new Random().Next(0, endLocs.GetUpperBound(0));
|
||||||
|
}
|
||||||
|
|
||||||
List<WmsCarryH> carrys = await _db.Queryable<WmsCarryH>().Where(it => carryCodes.Select(x => x.carry_id).Distinct().Contains(it.id)).ToListAsync();
|
List<WmsCarryH> carrys = await _db.Queryable<WmsCarryH>().Where(it => carryCodes.Select(x => x.carry_id).Distinct().Contains(it.id)).ToListAsync();
|
||||||
List<WmsCheckstockD> curDetails = details.DistinctBy(x => x.carry_id).ToList();
|
List<WmsCheckstockD> curDetails = details.DistinctBy(x => x.carry_id).ToList();
|
||||||
List<WmsCarryCode> curCarryCodes = carryCodes.FindAll(x => curDetails.Select(d => d.carry_id).Contains(x.carry_id));
|
List<WmsCarryCode> curCarryCodes = carryCodes.FindAll(x => curDetails.Select(d => d.carry_id).Contains(x.carry_id));
|
||||||
|
|||||||
Reference in New Issue
Block a user