任务单排班 质量bug

This commit is contained in:
2024-08-23 13:40:20 +08:00
parent a9a64ca88e
commit fea4b31b09
8 changed files with 135 additions and 58 deletions

View File

@@ -424,10 +424,27 @@ namespace Tnb.ProductionMgr
estimated_end_date = a.estimated_end_date == null ? null : a.estimated_end_date.Value.ToString(DbTimeFormat.SS),
bom_id = d.id,
bom_version = d.version,
create_time = a.create_time==null ? "" : a.create_time.Value.ToString(DbTimeFormat.SS)
create_time = a.create_time==null ? "" : a.create_time.Value.ToString(DbTimeFormat.SS),
dayshift_worker_id = a.dayshift_worker_id,
dayshiftafter_worker_id = a.dayshiftafter_worker_id,
nightshift_worker_id = a.nightshift_worker_id,
nightshiftafter_worker_id = a.nightshiftafter_worker_id,
})
.Mapper(it => it.mo_task_status = dic.ContainsKey(it.mo_task_status) ? dic[it.mo_task_status].ToString()! : "")
.ToListAsync();
List<string> userIdList = result.Select(x => x.dayshift_worker_id).Distinct().ToList();
userIdList.AddRange(result.Select(x => x.dayshiftafter_worker_id).Distinct().ToList());
userIdList.AddRange(result.Select(x => x.nightshift_worker_id).Distinct().ToList());
userIdList.AddRange(result.Select(x => x.nightshiftafter_worker_id).Distinct().ToList());
List<UserEntity> userEntities = await _db.Queryable<UserEntity>().Where(x=>userIdList.Contains(x.Id)).ToListAsync();
foreach (var item in result)
{
item.dayshift_worker_id = userEntities.Find(x=>x.Id==item.dayshift_worker_id)?.RealName ?? item.dayshift_worker_id;
item.dayshiftafter_worker_id = userEntities.Find(x=>x.Id==item.dayshiftafter_worker_id)?.RealName ?? item.dayshiftafter_worker_id;
item.nightshift_worker_id = userEntities.Find(x=>x.Id==item.nightshift_worker_id)?.RealName ?? item.nightshift_worker_id;
item.nightshiftafter_worker_id = userEntities.Find(x=>x.Id==item.nightshiftafter_worker_id)?.RealName ?? item.nightshiftafter_worker_id;
}
return result;
}
/// <summary>
@@ -2129,13 +2146,13 @@ namespace Tnb.ProductionMgr
return "提报成功";
}
public async Task<string> ReportInstock(CheckCompleteInput input)
public async Task<string> ReportInstock(CheckCompleteInput input,ISqlSugarClient db = null)
{
try
{
var db = _repository.AsSugarClient();
PrdReport report = await db.Queryable<PrdReport>().FirstAsync(it => it.id==input.report_id);
PrdMoTask? prdMoTask = await db.Queryable<PrdMoTask>().SingleAsync(x => x.id == report.mo_task_id);
if(db==null) db = _repository.AsSugarClient();
PrdReport report = await db.Queryable<PrdReport>().FirstAsync(it => it.id==input.report_id && !SqlFunc.IsNullOrEmpty(it.id));
PrdMoTask? prdMoTask = await db.Queryable<PrdMoTask>().FirstAsync(x => x.id == report.mo_task_id && !SqlFunc.IsNullOrEmpty(x.id));
EqpEquipment equip = await db.Queryable<EqpEquipment>().SingleAsync(x => x.id == prdMoTask.eqp_id);
BasMaterial basMaterial = await db.Queryable<BasMaterial>().SingleAsync(x => x.id == prdMoTask.material_id);
WmsCarryH wmsCarryH = await db.Queryable<WmsCarryH>().FirstAsync(x=>x.carry_code==report.material_box_code);
@@ -2219,7 +2236,7 @@ namespace Tnb.ProductionMgr
Log.Information($"生产入库参数:${JsonConvert.SerializeObject(wmsPrdInstockInput)}");
Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result2 = await _wmsPrdInstockHService.PrdInstock(wmsPrdInstockInput, _db);
Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result2 = await _wmsPrdInstockHService.PrdInstock(wmsPrdInstockInput, db);
if (result2 != null)
{
Log.Information($"生产入库接口返回参数:${JsonConvert.SerializeObject(result2)}");
@@ -3033,13 +3050,17 @@ namespace Tnb.ProductionMgr
DbResult<bool> result = await db.Ado.UseTranAsync(async () =>
{
PrdMoTask moTask = await db.Queryable<PrdMoTask>().SingleAsync(x => x.id == input.mo_task_id);
if (moTask.worker_id == input.worker_id)
{
throw new Exception("与原员工相同");
}
// if (moTask.worker_id == input.worker_id)
// {
// throw new Exception("与原员工相同");
// }
_ = await db.Updateable<PrdMoTask>().SetColumns(x => x.worker_id == input.worker_id)
_ = await db.Updateable<PrdMoTask>()
.SetColumns(x => x.dayshift_worker_id == input.dayshift_worker_id)
.SetColumns(x => x.nightshift_worker_id == input.nightshift_worker_id)
.SetColumns(x => x.dayshiftafter_worker_id == input.dayshiftafter_worker_id)
.SetColumns(x => x.nightshiftafter_worker_id == input.nightshiftafter_worker_id)
.Where(x => x.id == input.mo_task_id).ExecuteCommandAsync();
PrdMo mo = await db.Queryable<PrdMo>().SingleAsync(x => x.id == moTask.mo_id);
@@ -3746,11 +3767,13 @@ namespace Tnb.ProductionMgr
string ids = input.GetOrDefault("ids");
string[] idList = ids.Split(",");
// string workerId = input.GetOrDefault("worker_id");
string schedulingClassType = input.GetOrDefault("scheduling_class_type");
string dayshiftWorkerId = input.GetOrDefault("dayshift_worker_id");
string nightshiftWorkerId = input.GetOrDefault("nightshift_worker_id");
string dayshiftafterWorkerId = input.GetOrDefault("dayshiftafter_worker_id");
string nightshiftafterWorkerId = input.GetOrDefault("nightshiftafter_worker_id");
int row = await _db.Updateable<PrdMoTask>()
.SetColumns(x => x.scheduling_class_type == schedulingClassType)
.SetColumns(x => x.dayshift_worker_id == dayshiftWorkerId)
.SetColumns(x => x.nightshift_worker_id == nightshiftWorkerId)
.SetColumns(x => x.dayshiftafter_worker_id == dayshiftafterWorkerId)