bug处理
This commit is contained in:
@@ -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>
|
||||
/// 上模校验
|
||||
|
||||
Reference in New Issue
Block a user