bug处理

This commit is contained in:
2024-04-23 10:16:16 +08:00
parent c8e2f1eafd
commit 579f2d3a39
197 changed files with 2509 additions and 1363 deletions

View File

@@ -14,6 +14,7 @@ using SqlSugar;
using Tnb.BasicData;
using Tnb.BasicData.Entities;
using Tnb.EquipMgr.Entities;
using Tnb.PerMgr.Entities;
using Tnb.ProductionMgr.Entities;
using Tnb.ProductionMgr.Entities.Dto.PrdManage;
using Tnb.ProductionMgr.Entities.Entity;
@@ -361,122 +362,122 @@ namespace Tnb.ProductionMgr
return PageResult<PADPackageTaskPageOutput>.SqlSugarPageResult(result);
}
// /// <summary>
// /// pda端根据工位获取任务单列表
// /// </summary>
// /// <returns></returns>
// [HttpPost]
// public async Task<dynamic> GetPadPrdMoTaskList(PrdMoTaskListOutput input)
// {
// if (string.IsNullOrEmpty(input.stationId))
// {
// return new
// {
// pagination = new PageResult(),
// list = Array.Empty<string>()
// };
// }
//
// Dictionary<string, object> queryJson = string.IsNullOrEmpty(input.queryJson) ? new Dictionary<string, object>() : input.queryJson.ToObject<Dictionary<string, object>>();
// string? mo_task_code = queryJson.ContainsKey("mo_task_code") ? queryJson["mo_task_code"].ToString() : "";
// string? status = queryJson.ContainsKey("status") ? queryJson["status"].ToString() : "";
// DateTime? start_time = queryJson.ContainsKey("start_time") ? queryJson["start_time"].ToString() == "" ? null : Convert.ToDateTime(queryJson["start_time"]) : null;
// DateTime? end_time = queryJson.ContainsKey("end_time") ? queryJson["end_time"].ToString() == "" ? null : Convert.ToDateTime(queryJson["end_time"]) : null;
// List<string> statusList = new();
// if (!string.IsNullOrEmpty(status))
// {
// switch (status)
// {
// case "1":
// statusList.Add(DictConst.InProgressEnCode);
// statusList.Add(DictConst.MoStatusPauseCode);
// break;
// case "2":
// statusList.Add(DictConst.ToBeScheduledEncode);
// statusList.Add(DictConst.ToBeStartedEnCode);
// break;
// case "3":
// statusList.Add(DictConst.ComplatedEnCode);
// statusList.Add(DictConst.ClosedEnCode);
// break;
// }
// }
// // string mo_task_status = queryJson.ContainsKey("mo_task_status") ? queryJson["mo_task_status"].ToString() : "";
// if (string.IsNullOrEmpty(input.sidx))
// {
// input.sidx = "create_time";
// input.sort = "desc";
// }
//
// SqlSugarPagedList<PADPackageTaskPageOutput> result = await _db.Queryable<PrdMoTask>()
// .LeftJoin<BasMaterial>((a, b) => a.material_id == b.id)
// .LeftJoin<BasProcess>((a, b, c) => a.process_id == c.id)
// .LeftJoin<OrganizeEntity>((a, b, c, d) => a.workline_id == d.Id)
// .LeftJoin<DictionaryDataEntity>((a, b, c, d, e) => e.DictionaryTypeId == DictConst.PrdTaskStatusTypeId && a.mo_task_status == e.EnCode)
// .LeftJoin<EqpEquipment>((a, b, c, d, e, f) => a.eqp_id == f.id)
// .LeftJoin<ToolMolds>((a, b, c, d, e, f, g) => a.mold_id == g.id)
// .LeftJoin<PerProcessStandardsH>((a, b, c, d, e, f, g, h) => a.material_id == h.output_material_id && a.eqp_id == h.equip_id && a.mold_id == h.molds_id && h.enabled == 1)
// .LeftJoin<BasStandardTime>((a, b, c, d, e, f, g, h, i) => a.process_id == i.process_id && i.enabled == 1)
// .LeftJoin<PrdMo>((a, b, c, d, e, f, g, h, i, j) => a.mo_id == j.id)
// .LeftJoin<BasMaterialUnit>((a, b, c, d, e, f, g, h, i, j, k) => a.material_id == k.material_id && k.auxiliary_unit_id == "kg")
// .LeftJoin<EqpDaq>((a, b, c, d, e, f, g, h, i, j, k, l) => a.eqp_id == l.equip_id && l.enabled == 1 && l.label_point == "注塑空满箱请求")
// .Where((a, b) => a.workstation_id == input.stationId)
// .WhereIF(!string.IsNullOrEmpty(mo_task_code), a => a.mo_task_code.Contains(mo_task_code))
// //.WhereIF(!string.IsNullOrEmpty(mo_task_status),a=>a.mo_task_status==mo_task_status)
// .WhereIF(statusList.Count > 0, a => statusList.Contains(a.mo_task_status))
// .WhereIF(status == "3" && start_time != null, a => a.act_end_date >= start_time)
// .WhereIF(status == "3" && end_time != null, a => a.act_end_date <= end_time)
// .Select((a, b, c, d, e, f, g, h, i, j, k, l) => new PADPackageTaskPageOutput
// {
// id = a.id,
// mo_task_code = a.mo_task_code,
// mo_id = a.mo_id,
// mo_code = j.mo_code,
// material_id = a.material_id,
// material_code = b.code,
// material_name = b.name,
// workline_id = a.workline_id,
// workline_name = d.FullName,
// bom_id = a.bom_id,
// mo_task_status = e.FullName,
// complete_qty = SqlFunc.IsNull(a.reported_work_qty, 0) + SqlFunc.IsNull(a.scrap_qty, 0),
// scrap_qty = a.scrap_qty,
// scheduled_qty = a.scheduled_qty,
// reported_work_qty = a.reported_work_qty,
// estimated_start_date = a.estimated_start_date == null ? "" : a.estimated_start_date.Value.ToString(DbTimeFormat.SS),
// estimated_end_date = a.estimated_end_date == null ? "" : a.estimated_end_date.Value.ToString(DbTimeFormat.SS),
// parent_id = a.parent_id,
// process_id = a.process_id,
// process_name = c.process_name,
// mbom_process_id = a.mbom_process_id,
// create_time = a.create_time,
// equip_id = a.eqp_id,
// equip_code = f.code,
// equip_name = f.name,
// mold_id = a.mold_id,
// mold_code = g.mold_code,
// mold_name = g.mold_name,
// schedule_type = a.schedule_type,
// mold_cavity = g.mold_cavity,
// moulding_cycle = h.moulding_cycle,
// standard_time = i.standard_time,
// act_start_date = a.act_start_date == null ? "" : a.act_start_date.Value.ToString(DbTimeFormat.SS),
// act_end_date = a.act_end_date == null ? "" : a.act_end_date.Value.ToString(DbTimeFormat.SS),
// plan_end_date = a.plan_end_date == null ? "" : a.plan_end_date.Value.ToString(DbTimeFormat.SS),
// minpacking = b.minpacking,
// main_num = k.number_of_primary_unit,
// deputy_num = k.number_of_auxiliary_unit,
// third_equip_code = l.equip_code,
// weight_name = l.label_name,
// category_id = b.category_id
// })
// .MergeTable()
// .OrderBy($"{input.sidx} {input.sort}")
// .ToPagedListAsync(input.currentPage, input.pageSize);
//
// return PageResult<PADPackageTaskPageOutput>.SqlSugarPageResult(result);
//
// }
/// <summary>
/// pda端根据工位获取任务单列表
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<dynamic> GetPadPrdMoTaskList(PrdMoTaskListOutput input)
{
if (string.IsNullOrEmpty(input.stationId))
{
return new
{
pagination = new PageResult(),
list = Array.Empty<string>()
};
}
Dictionary<string, object> queryJson = string.IsNullOrEmpty(input.queryJson) ? new Dictionary<string, object>() : input.queryJson.ToObject<Dictionary<string, object>>();
string? mo_task_code = queryJson.ContainsKey("mo_task_code") ? queryJson["mo_task_code"].ToString() : "";
string? status = queryJson.ContainsKey("status") ? queryJson["status"].ToString() : "";
DateTime? start_time = queryJson.ContainsKey("start_time") ? queryJson["start_time"].ToString() == "" ? null : Convert.ToDateTime(queryJson["start_time"]) : null;
DateTime? end_time = queryJson.ContainsKey("end_time") ? queryJson["end_time"].ToString() == "" ? null : Convert.ToDateTime(queryJson["end_time"]) : null;
List<string> statusList = new();
if (!string.IsNullOrEmpty(status))
{
switch (status)
{
case "1":
statusList.Add(DictConst.InProgressEnCode);
statusList.Add(DictConst.MoStatusPauseCode);
break;
case "2":
statusList.Add(DictConst.ToBeScheduledEncode);
statusList.Add(DictConst.ToBeStartedEnCode);
break;
case "3":
statusList.Add(DictConst.ComplatedEnCode);
statusList.Add(DictConst.ClosedEnCode);
break;
}
}
// string mo_task_status = queryJson.ContainsKey("mo_task_status") ? queryJson["mo_task_status"].ToString() : "";
if (string.IsNullOrEmpty(input.sidx))
{
input.sidx = "create_time";
input.sort = "desc";
}
SqlSugarPagedList<PADPackageTaskPageOutput> result = await _db.Queryable<PrdMoTask>()
.LeftJoin<BasMaterial>((a, b) => a.material_id == b.id)
.LeftJoin<BasProcess>((a, b, c) => a.process_id == c.id)
.LeftJoin<OrganizeEntity>((a, b, c, d) => a.workline_id == d.Id)
.LeftJoin<DictionaryDataEntity>((a, b, c, d, e) => e.DictionaryTypeId == DictConst.PrdTaskStatusTypeId && a.mo_task_status == e.EnCode)
.LeftJoin<EqpEquipment>((a, b, c, d, e, f) => a.eqp_id == f.id)
.LeftJoin<ToolMolds>((a, b, c, d, e, f, g) => a.mold_id == g.id)
.LeftJoin<PerProcessStandardsH>((a, b, c, d, e, f, g, h) => a.material_id == h.output_material_id && a.eqp_id == h.equip_id && a.mold_id == h.molds_id && h.enabled == 1)
.LeftJoin<BasStandardTime>((a, b, c, d, e, f, g, h, i) => a.process_id == i.process_id && i.enabled == 1)
.LeftJoin<PrdMo>((a, b, c, d, e, f, g, h, i, j) => a.mo_id == j.id)
.LeftJoin<BasMaterialUnit>((a, b, c, d, e, f, g, h, i, j, k) => a.material_id == k.material_id && k.auxiliary_unit_id == "kg")
.LeftJoin<EqpDaq>((a, b, c, d, e, f, g, h, i, j, k, l) => a.eqp_id == l.equip_id && l.enabled == 1 && l.label_point == "注塑空满箱请求")
.Where((a, b) => a.workstation_id == input.stationId)
.WhereIF(!string.IsNullOrEmpty(mo_task_code), a => a.mo_task_code.Contains(mo_task_code))
//.WhereIF(!string.IsNullOrEmpty(mo_task_status),a=>a.mo_task_status==mo_task_status)
.WhereIF(statusList.Count > 0, a => statusList.Contains(a.mo_task_status))
.WhereIF(status == "3" && start_time != null, a => a.act_end_date >= start_time)
.WhereIF(status == "3" && end_time != null, a => a.act_end_date <= end_time)
.Select((a, b, c, d, e, f, g, h, i, j, k, l) => new PADPackageTaskPageOutput
{
id = a.id,
mo_task_code = a.mo_task_code,
mo_id = a.mo_id,
mo_code = j.mo_code,
material_id = a.material_id,
material_code = b.code,
material_name = b.name,
workline_id = a.workline_id,
workline_name = d.FullName,
bom_id = a.bom_id,
mo_task_status = e.FullName,
complete_qty = SqlFunc.IsNull(a.reported_work_qty, 0) + SqlFunc.IsNull(a.scrap_qty, 0),
scrap_qty = a.scrap_qty,
scheduled_qty = a.scheduled_qty,
reported_work_qty = a.reported_work_qty,
estimated_start_date = a.estimated_start_date == null ? "" : a.estimated_start_date.Value.ToString(DbTimeFormat.SS),
estimated_end_date = a.estimated_end_date == null ? "" : a.estimated_end_date.Value.ToString(DbTimeFormat.SS),
parent_id = a.parent_id,
process_id = a.process_id,
process_name = c.process_name,
mbom_process_id = a.mbom_process_id,
create_time = a.create_time,
equip_id = a.eqp_id,
equip_code = f.code,
equip_name = f.name,
mold_id = a.mold_id,
mold_code = g.mold_code,
mold_name = g.mold_name,
schedule_type = a.schedule_type,
mold_cavity = g.mold_cavity,
moulding_cycle = h.moulding_cycle,
standard_time = i.standard_time,
act_start_date = a.act_start_date == null ? "" : a.act_start_date.Value.ToString(DbTimeFormat.SS),
act_end_date = a.act_end_date == null ? "" : a.act_end_date.Value.ToString(DbTimeFormat.SS),
plan_end_date = a.plan_end_date == null ? "" : a.plan_end_date.Value.ToString(DbTimeFormat.SS),
minpacking = b.minpacking,
main_num = k.number_of_primary_unit,
deputy_num = k.number_of_auxiliary_unit,
third_equip_code = l.equip_code,
weight_name = l.label_name,
category_id = b.category_id
})
.MergeTable()
.OrderBy($"{input.sidx} {input.sort}")
.ToPagedListAsync(input.currentPage, input.pageSize);
return PageResult<PADPackageTaskPageOutput>.SqlSugarPageResult(result);
}
/// <summary>
/// 上模校验