Merge branch 'dev' of https://git.tuotong-tech.com/tnb/tnb.server into dev
This commit is contained in:
@@ -0,0 +1,18 @@
|
|||||||
|
namespace Tnb.BasicData
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 工厂基础数据
|
||||||
|
/// </summary>
|
||||||
|
public static class FactoryConfigConst
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 报工是否允许超过工单计划数 是:1 否 :0
|
||||||
|
/// </summary>
|
||||||
|
public const string IS_SURPASS = "is_surpass";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 报工允许超过工单计划数百分比 例:填写10就是10%
|
||||||
|
/// </summary>
|
||||||
|
public const string IS_SURPASS_PERCENTAGE = "is_surpass_percentage";
|
||||||
|
}
|
||||||
|
}
|
||||||
87
BasicData/Tnb.BasicData.Entities/Entity/BasFactoryConfig.cs
Normal file
87
BasicData/Tnb.BasicData.Entities/Entity/BasFactoryConfig.cs
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
using JNPF.Common.Contracts;
|
||||||
|
using JNPF.Common.Security;
|
||||||
|
using SqlSugar;
|
||||||
|
|
||||||
|
namespace Tnb.BasicData.Entities;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 工厂基础数据
|
||||||
|
/// </summary>
|
||||||
|
[SugarTable("bas_factory_config")]
|
||||||
|
public partial class BasFactoryConfig : BaseEntity<string>
|
||||||
|
{
|
||||||
|
public BasFactoryConfig()
|
||||||
|
{
|
||||||
|
id = SnowflakeIdHelper.NextId();
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 名称
|
||||||
|
/// </summary>
|
||||||
|
public string name { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// key
|
||||||
|
/// </summary>
|
||||||
|
public string key { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 值
|
||||||
|
/// </summary>
|
||||||
|
public string value { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否启用
|
||||||
|
/// </summary>
|
||||||
|
public int enabled { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 备注
|
||||||
|
/// </summary>
|
||||||
|
public string? remark { 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? org_id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 排序
|
||||||
|
/// </summary>
|
||||||
|
public long? ordinal { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否系统
|
||||||
|
/// </summary>
|
||||||
|
public int? is_system { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 流程任务Id
|
||||||
|
/// </summary>
|
||||||
|
public string? f_flowtaskid { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 流程引擎Id
|
||||||
|
/// </summary>
|
||||||
|
public string? f_flowid { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -54,4 +54,9 @@ public partial class PrdInstockD : BaseEntity<string>
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string report_id { get; set; } = string.Empty;
|
public string report_id { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 生产任务单号
|
||||||
|
/// </summary>
|
||||||
|
public string mo_task_code { get; set; } = string.Empty;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1361,6 +1361,26 @@ namespace Tnb.ProductionMgr
|
|||||||
throw Oops.Bah("暂停的任务单无法提报");
|
throw Oops.Bah("暂停的任务单无法提报");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((prdMoTask.reported_work_qty ?? 0) + input.reported_qty > prdMoTask.scheduled_qty)
|
||||||
|
{
|
||||||
|
var config1 = await db.Queryable<BasFactoryConfig>().FirstAsync(x => x.enabled == 1 && x.key == FactoryConfigConst.IS_SURPASS);
|
||||||
|
if (config1?.value == "1")
|
||||||
|
{
|
||||||
|
var config2 = await db.Queryable<BasFactoryConfig>().FirstAsync(x => x.enabled == 1 && x.key == FactoryConfigConst.IS_SURPASS_PERCENTAGE);
|
||||||
|
if (!string.IsNullOrEmpty(config2?.value))
|
||||||
|
{
|
||||||
|
if ((prdMoTask.reported_work_qty ?? 0) + input.reported_qty > prdMoTask.scheduled_qty*(100+Convert.ToDecimal(config2?.value ?? "1"))/100)
|
||||||
|
{
|
||||||
|
throw Oops.Bah($"提报数量不能大于{100+Convert.ToDecimal(config2?.value ?? "0")}%排产数量");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw Oops.Bah("提报数量不能大于排产数量");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// bool flag = (prdMoTask.reported_work_qty ?? 0) + (prdMoTask.scrap_qty ?? 0) + input.reported_qty == prdMoTask.scheduled_qty;
|
// bool flag = (prdMoTask.reported_work_qty ?? 0) + (prdMoTask.scrap_qty ?? 0) + input.reported_qty == prdMoTask.scheduled_qty;
|
||||||
// if ((prdMoTask.reported_work_qty ?? 0) + (prdMoTask.scrap_qty ?? 0) + input.reported_qty > prdMoTask.scheduled_qty)
|
// if ((prdMoTask.reported_work_qty ?? 0) + (prdMoTask.scrap_qty ?? 0) + input.reported_qty > prdMoTask.scheduled_qty)
|
||||||
|
|||||||
@@ -562,11 +562,11 @@ namespace Tnb.WarehouseMgr
|
|||||||
if (curEleDs?.Count > 0)
|
if (curEleDs?.Count > 0)
|
||||||
{
|
{
|
||||||
//当前电梯
|
//当前电梯
|
||||||
var curEle = await _db.Queryable<WmsElevatorH>().SingleAsync(it => it.id == curEleDs.First().bill_id);
|
var curEle = await _db.Queryable<WmsElevatorH>().SingleAsync(it => it.id == curEleDs.First().bill_id && it.status == 1) ?? throw new AppFriendlyException("电梯被禁用", 500);
|
||||||
//同电梯组电梯
|
//同电梯组电梯
|
||||||
var sGpEle = await _db.Queryable<WmsElevatorH>().Where(it => it.elevator_group == curEle.elevator_group && it.id != curEle.id).ToListAsync();
|
var sGpEle = await _db.Queryable<WmsElevatorH>().Where(it => it.elevator_group == curEle.elevator_group && it.id != curEle.id && it.status == 1).ToListAsync();
|
||||||
//判断电梯组中各电梯任务数
|
//判断电梯组中各电梯任务数
|
||||||
if (sGpEle.FindAll(x => x.task_nums < curEle.task_nums)?.Count > 0)
|
if (sGpEle.FindAll(x => Math.Abs(x.task_nums - curEle.task_nums) % 2 == 1)?.Count > 0)
|
||||||
{
|
{
|
||||||
var sGpDs = await _db.Queryable<WmsElevatorD>().Where(it => it.bill_id == sGpEle.First().id).ToListAsync();
|
var sGpDs = await _db.Queryable<WmsElevatorD>().Where(it => it.bill_id == sGpEle.First().id).ToListAsync();
|
||||||
if (sGpDs?.Count > 0)
|
if (sGpDs?.Count > 0)
|
||||||
|
|||||||
Reference in New Issue
Block a user