pad 组装包装相关接口

This commit is contained in:
2023-09-19 16:50:57 +08:00
parent 0bf34fa215
commit 6f6a5ecb50
2 changed files with 140 additions and 0 deletions

View File

@@ -0,0 +1,89 @@
namespace Tnb.ProductionMgr.Entities.Dto.PrdManage
{
public class PADPackageTaskPageOutput
{
public string id { get; set; }
/// <summary>
/// 生产任务编号
/// </summary>
public string? mo_task_code { get; set; }
/// <summary>
/// 工单Id
/// </summary>
public string? mo_id { get; set; }
/// <summary>
/// 物料Id
/// </summary>
public string material_id { get; set; }
public string material_code { get; set; }
public string material_name { get; set; }
/// <summary>
/// 产线id
/// </summary>
public string? workline_id { get; set; }
public string? workline_name { get; set; }
/// <summary>
/// 生产bom id
/// </summary>
public string? bom_id { get; set; }
/// <summary>
/// 任务单状态
/// </summary>
public string? mo_task_status { get; set; }
/// <summary>
/// 已完工数量
/// </summary>
public int? complete_qty { get; set; }
/// <summary>
/// 报废数量
/// </summary>
public int? scrap_qty { get; set; }
/// <summary>
/// 已排产数量
/// </summary>
public int? scheduled_qty { get; set; }
/// <summary>
/// 排产类型:1、注塑、挤出2、组装、包装
/// </summary>
public int? schedule_type { get; set; }
public int? reported_work_qty { get; set; }
/// <summary>
/// 计划开始时间
/// </summary>
public string? estimated_start_date { get; set; }
/// <summary>
/// 计划结束时间
/// </summary>
public string? estimated_end_date { get; set; }
/// <summary>
/// 父任务Id
/// </summary>
public string? parent_id { get; set; }
/// <summary>
/// 工序id
/// </summary>
public string process_id { get; set; }
public string process_name { get; set; }
public string mbom_process_id { get; set; }
}
}

View File

@@ -10,6 +10,7 @@ using JNPF.Common.Security;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.Systems.Entitys.Permission;
using JNPF.Systems.Entitys.System;
using JNPF.Systems.Interfaces.System;
using Mapster;
using Microsoft.AspNetCore.Mvc;
@@ -239,5 +240,55 @@ namespace Tnb.ProductionMgr
}
}
}
/// <summary>
/// pda端根据工位获取组装包装列表
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<dynamic> GetPadList(PrdPackReportQueryInput input)
{
if (string.IsNullOrEmpty(input.stationId))
{
return new
{
pagination = new PageResult(),
list = Array.Empty<string>()
};
}
var 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)
.Where((a, b) => a.workstation_id == input.stationId && a.mo_task_status != DictConst.ToBeScheduledEncode && a.schedule_type==2)
.OrderByDescending((a, b) => a.create_time)
.Select((a, b, c, d, e) => new PADPackageTaskPageOutput
{
id = a.id,
mo_task_code = a.mo_task_code,
mo_id = a.mo_id,
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("yyyy-MM-dd HH:mm:ss"),
estimated_end_date = a.estimated_end_date==null ? "" : a.estimated_end_date.Value.ToString("yyyy-MM-dd HH:mm:ss"),
parent_id = a.parent_id,
process_id = a.process_id,
process_name = c.process_name,
mbom_process_id = a.mbom_process_id,
}).ToPagedListAsync(input.currentPage, input.pageSize);
return PageResult<PADPackageTaskPageOutput>.SqlSugarPageResult(result);
}
}
}