This commit is contained in:
2024-07-19 17:22:08 +08:00
parent 5345400596
commit a239258646
3 changed files with 41 additions and 28 deletions

View File

@@ -83,5 +83,10 @@ public partial class BasEbomH : BaseEntity<string>
/// 仅用于关联表字段查询用不存储数据 /// 仅用于关联表字段查询用不存储数据
/// </summary> /// </summary>
public string? query_info { get; set; } public string? query_info { get; set; }
/// <summary>
/// erp修改时间
/// </summary>
public string erp_modify_time { get; set; }
} }

View File

@@ -34,5 +34,9 @@ namespace Tnb.ProductionMgr.Entities.Entity.ErpEntity
/// 数量 /// 数量
/// </summary> /// </summary>
public decimal BATCHAMOUNT { get; set; } public decimal BATCHAMOUNT { get; set; }
/// <summary>
/// 修改时间
/// </summary>
public string MODIFIEDTIME { get; set; }
} }
} }

View File

@@ -942,41 +942,45 @@ namespace Tnb.ProductionMgr
{ {
BasEbomH basEbomH = await _db.Queryable<BasEbomH>().Where(x=>x.material_id==material.id && x.version==firstItemInList.HVERSION).FirstAsync(); BasEbomH basEbomH = await _db.Queryable<BasEbomH>().Where(x=>x.material_id==material.id && x.version==firstItemInList.HVERSION).FirstAsync();
if (basEbomH == null) continue; if (basEbomH == null) continue;
bool flag = false; if (basEbomH.erp_modify_time != firstItemInList.MODIFIEDTIME)
List<BasEbomD> tempList = new List<BasEbomD>();
foreach (var children in itemList)
{ {
BasMaterial childrenMaterial = materials.Find(x => x.code==children.SUBPRODID); bool flag = false;
if (childrenMaterial == null) List<BasEbomD> tempList = new List<BasEbomD>();
foreach (var children in itemList)
{ {
flag = true; BasMaterial childrenMaterial = materials.Find(x => x.code==children.SUBPRODID);
tempList = new List<BasEbomD>(); if (childrenMaterial == null)
break; {
flag = true;
tempList = new List<BasEbomD>();
break;
}
BasEbomD basEbomD = new BasEbomD()
{
id = SnowflakeIdHelper.NextId(),
ebom_id = basEbomH.id,
material_id = childrenMaterial.id,
denominator = children.DISHU,
molecule = children.BATCHAMOUNT,
};
tempList.Add(basEbomD);
} }
BasEbomD basEbomD = new BasEbomD() if (flag)
{ {
id = SnowflakeIdHelper.NextId(), continue;
ebom_id = basEbomH.id, }
material_id = childrenMaterial.id,
denominator = children.DISHU, insertBasEbomDs.AddRange(tempList);
molecule = children.BATCHAMOUNT, await _db.Updateable<BasEbomH>()
}; .SetColumns(x => x.unit_id == unitId)
tempList.Add(basEbomD); .Where(x => x.id == basEbomH.id)
} .ExecuteCommandAsync();
await _db.Deleteable<BasEbomD>().Where(x => x.ebom_id == basEbomH.id).ExecuteCommandAsync();
if (flag)
{
continue;
} }
insertBasEbomDs.AddRange(tempList);
await _db.Updateable<BasEbomH>()
.SetColumns(x => x.unit_id == unitId)
.Where(x => x.id == basEbomH.id)
.ExecuteCommandAsync();
await _db.Deleteable<BasEbomD>().Where(x => x.ebom_id == basEbomH.id).ExecuteCommandAsync();
} }
} }