入库容差
This commit is contained in:
@@ -278,5 +278,10 @@ public partial class BasMaterial : BaseEntity<string>
|
||||
/// 物料型号(箱号)
|
||||
/// </summary>
|
||||
public string? material_standard { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 入库容差配置
|
||||
/// </summary>
|
||||
public decimal intolerance { get; set; } = 0;
|
||||
|
||||
}
|
||||
|
||||
@@ -67,5 +67,10 @@ namespace Tnb.ProductionMgr.Entities.Entity.ErpEntity
|
||||
/// 保质期 年
|
||||
/// </summary>
|
||||
public string QUALITYNUM { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 入库容差%
|
||||
/// </summary>
|
||||
public decimal INTOLERANCE { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1939,13 +1939,17 @@ namespace Tnb.ProductionMgr
|
||||
BasFactoryConfig config1 = await db.Queryable<BasFactoryConfig>().FirstAsync(x => x.enabled == 1 && x.key == FactoryConfigConst.IS_SURPASS);
|
||||
if (config1?.value == "1")
|
||||
{
|
||||
BasFactoryConfig? config2 = await db.Queryable<BasFactoryConfig>().FirstAsync(x => x.enabled == 1 && x.key == FactoryConfigConst.IS_SURPASS_PERCENTAGE);
|
||||
if (!string.IsNullOrEmpty(config2?.value))
|
||||
// BasFactoryConfig? 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")}%排产数量");
|
||||
// }
|
||||
// }
|
||||
if ((prdMoTask.reported_work_qty ?? 0) + input.reported_qty > prdMoTask.scheduled_qty * (100 + basMaterial.intolerance) / 100)
|
||||
{
|
||||
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")}%排产数量");
|
||||
}
|
||||
throw Oops.Bah($"提报数量不能大于{100 + basMaterial.intolerance}%排产数量");
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1953,28 +1957,6 @@ namespace Tnb.ProductionMgr
|
||||
throw Oops.Bah("提报数量不能大于排产数量");
|
||||
}
|
||||
}
|
||||
|
||||
if ((prdMoTask.reported_work_qty ?? 0) + input.reported_qty > prdMoTask.scheduled_qty)
|
||||
{
|
||||
BasFactoryConfig config1 = await db.Queryable<BasFactoryConfig>().FirstAsync(x => x.enabled == 1 && x.key == FactoryConfigConst.IS_SURPASS);
|
||||
if (config1?.value == "1")
|
||||
{
|
||||
BasFactoryConfig? 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;
|
||||
// if ((prdMoTask.reported_work_qty ?? 0) + (prdMoTask.scrap_qty ?? 0) + input.reported_qty > prdMoTask.scheduled_qty)
|
||||
|
||||
@@ -940,6 +940,7 @@ namespace Tnb.ProductionMgr
|
||||
unit_id = unitId,
|
||||
state = "1",
|
||||
di = erpBdMaterial.UDI,
|
||||
intolerance = erpBdMaterial.INTOLERANCE,
|
||||
create_time = DateTime.Now
|
||||
};
|
||||
if (qualityFlag) basMaterial.quality_guarantee_period = quality_guarantee_period;
|
||||
@@ -991,6 +992,7 @@ namespace Tnb.ProductionMgr
|
||||
.SetColumns(x => x.unit_id == unitId)
|
||||
.SetColumns(x => x.name == erpBdMaterial.NAME)
|
||||
.SetColumns(x => x.di == erpBdMaterial.UDI)
|
||||
.SetColumns(x => x.intolerance == erpBdMaterial.INTOLERANCE)
|
||||
.SetColumnsIF(qualityFlag,x => x.quality_guarantee_period == quality_guarantee_period)
|
||||
.Where(x => x.id == materialId)
|
||||
.ExecuteCommandAsync();
|
||||
|
||||
Reference in New Issue
Block a user