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