入库容差

This commit is contained in:
2024-10-12 11:44:48 +08:00
parent 10d7470b56
commit 20ff2d213a
4 changed files with 23 additions and 29 deletions

View File

@@ -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;
}

View File

@@ -67,5 +67,10 @@ namespace Tnb.ProductionMgr.Entities.Entity.ErpEntity
/// 保质期 年
/// </summary>
public string QUALITYNUM { get; set; }
/// <summary>
/// 入库容差%
/// </summary>
public decimal INTOLERANCE { get; set; }
}
}

View File

@@ -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)

View File

@@ -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();