生产bom工序表添加工艺路线子表id,esop

This commit is contained in:
2023-06-21 17:19:27 +08:00
parent eb0909fd28
commit e563920a39
11 changed files with 407 additions and 21 deletions

View File

@@ -114,6 +114,7 @@ namespace Tnb.BasicData
{
mbomProcessOutDtos.Add(new MbomProcessOutDto()
{
id = process.id,
mbom_id = mbom.id,
process_id = process.process_id,
preparation_time = process.preparation_time,
@@ -159,7 +160,8 @@ namespace Tnb.BasicData
var result = await _db.Queryable<BasMbom>()
.LeftJoin<BasMbomProcess>((a, b) => a.id == b.mbom_id)
.LeftJoin<BasRouteH>((a, b, c) => a.route_id == c.id)
.LeftJoin<BasRouteD>((a, b, c, d) => b.process_id == d.process_id && c.id == d.route_id)
// .LeftJoin<BasRouteD>((a, b, c, d) => b.process_id == d.process_id && c.id == d.route_id)
.LeftJoin<BasRouteD>((a, b, c, d) => b.route_detail_id == d.id)
.LeftJoin<BasMbomOutput>((a, b, c, d, e) => a.id == e.mbom_id && e.mbom_process_id == b.id)
.Where((a, b, c, d, e) => a.id == bomId)
.Select((a, b, c, d, e) => new SubBomListOutput
@@ -293,6 +295,7 @@ namespace Tnb.BasicData
station = process?.station ?? "",
byproduct_status = process.byproduct_status,
production_method = process.production_method,
route_detail_id = process.route_detail_id,
});
@@ -379,7 +382,7 @@ namespace Tnb.BasicData
}, x => x.id == mbomSaveDataInput.id);
}
List<BasMbomProcess> processes = new List<BasMbomProcess>();
// List<BasMbomProcess> processes = new List<BasMbomProcess>();
List<BasMbomInput> inputs = new List<BasMbomInput>();
List<BasMbomOutput> outputs = new List<BasMbomOutput>();
@@ -387,19 +390,29 @@ namespace Tnb.BasicData
{
foreach (var process in mbomSaveDataInput.processes)
{
string mbomProcessId = SnowflakeIdHelper.NextId();
processes.Add(new BasMbomProcess()
{
id = mbomProcessId,
org_id = orgId ?? "",
mbom_id = mbomSaveDataInput?.id ?? "",
process_id = process?.process_id ?? "",
preparation_time = process?.preparation_time ?? 0,
station = process.station,
byproduct_status = process.byproduct_status,
production_method = process.production_method,
});
string mbomProcessId = process.id;
// string mbomProcessId = SnowflakeIdHelper.NextId();
// processes.Add(new BasMbomProcess()
// {
// id = mbomProcessId,
// org_id = orgId ?? "",
// mbom_id = mbomSaveDataInput?.id ?? "",
// process_id = process?.process_id ?? "",
// preparation_time = process?.preparation_time ?? 0,
// station = process.station,
// byproduct_status = process.byproduct_status,
// production_method = process.production_method,
// route_detail_id = process.route_detail_id,
//
// });
decimal preparation_time = process?.preparation_time ?? 0;
await _repository.AsSugarClient().Updateable<BasMbomProcess>()
.SetColumns(x => x.preparation_time == preparation_time)
.SetColumns(x => x.station == process.station)
.SetColumns(x => x.byproduct_status == process.byproduct_status)
.SetColumns(x => x.production_method == process.production_method)
.Where(x => x.id == process.id).ExecuteCommandAsync();
if (process.inputs != null)
{
@@ -442,14 +455,14 @@ namespace Tnb.BasicData
if (mbomSaveDataInput != null && !string.IsNullOrEmpty(mbomSaveDataInput.id))
{
await _repository.AsSugarClient().Deleteable<BasMbomProcess>().Where(x => x.mbom_id == mbomSaveDataInput.id).ExecuteCommandAsync();
// await _repository.AsSugarClient().Deleteable<BasMbomProcess>().Where(x => x.mbom_id == mbomSaveDataInput.id).ExecuteCommandAsync();
await _repository.AsSugarClient().Deleteable<BasMbomInput>().Where(x => x.mbom_id == mbomSaveDataInput.id).ExecuteCommandAsync();
await _repository.AsSugarClient().Deleteable<BasMbomOutput>().Where(x => x.mbom_id == mbomSaveDataInput.id).ExecuteCommandAsync();
}
if (processes.Count > 0)
{
await _repository.AsSugarClient().Insertable<BasMbomProcess>(processes).ExecuteCommandAsync();
}
// if (processes.Count > 0)
// {
// await _repository.AsSugarClient().Insertable<BasMbomProcess>(processes).ExecuteCommandAsync();
// }
if (inputs.Count > 0)
{