feat(报工): 添加报工数据导出功能
- 在IProReportworkService接口中添加导出方法定义 - 实现报工数据导出服务逻辑 - 添加导出API接口 - 为ProReportworkDto添加ExcelColumn属性用于导出映射 - 调整查询参数类型为可空类型以支持更灵活的查询
This commit is contained in:
@@ -6,6 +6,8 @@ using DOAN.Admin.WebApi.Filters;
|
|||||||
using DOAN.Model.MES.product;
|
using DOAN.Model.MES.product;
|
||||||
using DOAN.Service.MES.product.IService;
|
using DOAN.Service.MES.product.IService;
|
||||||
using Infrastructure.Converter;
|
using Infrastructure.Converter;
|
||||||
|
using DOAN.Common;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
|
||||||
//创建时间:2024-12-03
|
//创建时间:2024-12-03
|
||||||
namespace DOAN.Admin.WebApi.Controllers
|
namespace DOAN.Admin.WebApi.Controllers
|
||||||
@@ -65,25 +67,25 @@ namespace DOAN.Admin.WebApi.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查询工序列表
|
/// 查询工序列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost("baseworkprocesseslist")]
|
[HttpPost("baseworkprocesseslist")]
|
||||||
[ActionPermissionFilter(Permission = "proreportwork:baseworkprocesseslist")]
|
[ActionPermissionFilter(Permission = "proreportwork:baseworkprocesseslist")]
|
||||||
public IActionResult QueryBaseWorkProcesses()
|
public IActionResult QueryBaseWorkProcesses()
|
||||||
{
|
{
|
||||||
|
|
||||||
var response = _ProReportworkService.GetBaseWorkProcesses();
|
|
||||||
return SUCCESS(response);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
var response = _ProReportworkService.GetBaseWorkProcesses();
|
||||||
/// 查询报工详情
|
return SUCCESS(response);
|
||||||
/// </summary>
|
}
|
||||||
/// <param name="Id"></param>
|
|
||||||
/// <returns></returns>
|
/// <summary>
|
||||||
[HttpGet("{Id}")]
|
/// 查询报工详情
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="Id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet("{Id}")]
|
||||||
[ActionPermissionFilter(Permission = "proreportwork:query")]
|
[ActionPermissionFilter(Permission = "proreportwork:query")]
|
||||||
public IActionResult GetProReportwork(string Id)
|
public IActionResult GetProReportwork(string Id)
|
||||||
{
|
{
|
||||||
@@ -138,7 +140,32 @@ namespace DOAN.Admin.WebApi.Controllers
|
|||||||
return ToResponse(_ProReportworkService.Delete(idArr));
|
return ToResponse(_ProReportworkService.Delete(idArr));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 导出报工数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="parm"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost("export")]
|
||||||
|
[Log(Title = "报工导出", BusinessType = BusinessType.EXPORT)]
|
||||||
|
[AllowAnonymous]
|
||||||
|
public IActionResult WorkOrderExport([FromBody] ProReportworkQueryDto parm)
|
||||||
|
{
|
||||||
|
// 转换日期格式
|
||||||
|
if (parm.JobDateTime != null && parm.JobDateTime.Length == 2)
|
||||||
|
{
|
||||||
|
parm.JobDateTime[0] = DOANConvertDate.ConvertLocalDate(parm.JobDateTime[0]);
|
||||||
|
parm.JobDateTime[1] = DOANConvertDate.ConvertLocalDate(parm.JobDateTime[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 忽略分页,执行全量数据查询
|
||||||
|
parm.PageNum = 1;
|
||||||
|
parm.PageSize = int.MaxValue;
|
||||||
|
|
||||||
|
var list = _ProReportworkService.GetExportList(parm);
|
||||||
|
|
||||||
|
var result = ExportExcelMini(list, "proreportwork", "报工数据");
|
||||||
|
return ExportExcel(result.Item2, result.Item1);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,17 +1,16 @@
|
|||||||
|
|
||||||
namespace DOAN.Model.BZFM.Dto
|
namespace DOAN.Model.BZFM.Dto
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 报工查询对象
|
/// 报工查询对象
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ProReportworkQueryDto : PagerInfo
|
public class ProReportworkQueryDto : PagerInfo
|
||||||
{
|
{
|
||||||
public string Workorder { get; set; }
|
public string Workorder { get; set; }
|
||||||
|
|
||||||
public int RouteId { get; set; }
|
public int? RouteId { get; set; }
|
||||||
|
|
||||||
|
public int? ProcessId { get; set; }
|
||||||
|
|
||||||
public int ProcessId { get; set; }
|
|
||||||
|
|
||||||
public string Worker { get; set; }
|
public string Worker { get; set; }
|
||||||
|
|
||||||
public DateTime[] JobDateTime { get; set; } = new DateTime[2];
|
public DateTime[] JobDateTime { get; set; } = new DateTime[2];
|
||||||
@@ -23,47 +22,70 @@ namespace DOAN.Model.BZFM.Dto
|
|||||||
public class ProReportworkDto
|
public class ProReportworkDto
|
||||||
{
|
{
|
||||||
[Required(ErrorMessage = "雪花不能为空")]
|
[Required(ErrorMessage = "雪花不能为空")]
|
||||||
|
[ExcelColumn(Name = "系统编号")]
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
|
[ExcelColumn(Name = "工单编号")]
|
||||||
|
public string Workorder { get; set; }
|
||||||
|
|
||||||
|
// 产成品号
|
||||||
|
[ExcelColumn(Name = "主体品名")]
|
||||||
|
public string ProductionName { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumn(Name = "主体型号")]
|
||||||
|
public string ProductionCode { get; set; }
|
||||||
|
|
||||||
|
// 原材料号
|
||||||
|
[ExcelColumn(Name = "原材料编码")]
|
||||||
|
public string MaterialCode { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumn(Name = "原材料型号")]
|
||||||
|
public string MaterialName { get; set; }
|
||||||
|
|
||||||
// 炉号
|
// 炉号
|
||||||
|
[ExcelColumn(Name = "炉号")]
|
||||||
public string StoveCode { get; set; }
|
public string StoveCode { get; set; }
|
||||||
|
|
||||||
public string Workorder { get; set; }
|
|
||||||
// 产成品号
|
|
||||||
public string ProductionName { get; set; }
|
|
||||||
public string ProductionCode { get; set; }
|
|
||||||
// 原材料号
|
|
||||||
public string MaterialCode { get; set; }
|
|
||||||
public string MaterialName { get; set; }
|
|
||||||
// 领料批次号
|
// 领料批次号
|
||||||
|
[ExcelColumn(Name = "领料批次号")]
|
||||||
public string FeedOrder { get; set; }
|
public string FeedOrder { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumn(Name = "产线编号")]
|
||||||
public string RouteId { get; set; }
|
public string RouteId { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumn(Name = "系统工序编号")]
|
||||||
public int ProcessId { get; set; }
|
public int ProcessId { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumn(Name = "工序名称")]
|
||||||
public string ProcessName { get; set; }
|
public string ProcessName { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumn(Name = "计划数量")]
|
||||||
public int? PlanNum { get; set; }
|
public int? PlanNum { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumn(Name = "完成数量")]
|
||||||
public int? FinishNum { get; set; }
|
public int? FinishNum { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumn(Name = "不良品数量")]
|
||||||
public int? BadNum { get; set; }
|
public int? BadNum { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumn(Name = "作业员")]
|
||||||
public string Worker { get; set; }
|
public string Worker { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumn(Name = "作业日期")]
|
||||||
public DateTime? JobDateTime { get; set; }
|
public DateTime? JobDateTime { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumn(Name = "备注")]
|
||||||
public string Remark { get; set; }
|
public string Remark { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumn(Name = "创建人")]
|
||||||
public string CreatedBy { get; set; }
|
public string CreatedBy { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumn(Name = "创建时间")]
|
||||||
public DateTime? CreatedTime { get; set; }
|
public DateTime? CreatedTime { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumn(Name = "更新人")]
|
||||||
public string UpdatedBy { get; set; }
|
public string UpdatedBy { get; set; }
|
||||||
|
|
||||||
|
[ExcelColumn(Name = "更新时间")]
|
||||||
public DateTime? UpdatedTime { get; set; }
|
public DateTime? UpdatedTime { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
|
|
||||||
namespace DOAN.Model.MES.product.Dto
|
namespace DOAN.Model.MES.product.Dto
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 工单查询对象
|
/// 工单查询对象
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ProWorkorderQueryDto : PagerInfo
|
public class ProWorkorderQueryDto : PagerInfo
|
||||||
{
|
{
|
||||||
public string productionName { get; set; }
|
public string productionName { get; set; }
|
||||||
|
|
||||||
@@ -12,7 +11,6 @@ namespace DOAN.Model.MES.product.Dto
|
|||||||
|
|
||||||
public string Workorder { get; set; }
|
public string Workorder { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public string RouteCode { get; set; }
|
public string RouteCode { get; set; }
|
||||||
public string GroupCode { get; set; }
|
public string GroupCode { get; set; }
|
||||||
|
|
||||||
@@ -38,11 +36,10 @@ namespace DOAN.Model.MES.product.Dto
|
|||||||
|
|
||||||
public class ProWorkorderExportDto
|
public class ProWorkorderExportDto
|
||||||
{
|
{
|
||||||
public string [] WorkorderArray { get; set; }
|
public string[] WorkorderArray { get; set; }
|
||||||
public string Path { get; set; }
|
public string Path { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 工单输入输出对象
|
/// 工单输入输出对象
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -64,7 +61,6 @@ namespace DOAN.Model.MES.product.Dto
|
|||||||
public int? ShipmentNum { get; set; }
|
public int? ShipmentNum { get; set; }
|
||||||
public int? Sort { get; set; }
|
public int? Sort { get; set; }
|
||||||
|
|
||||||
|
|
||||||
public DateTime? WorkorderDate { get; set; }
|
public DateTime? WorkorderDate { get; set; }
|
||||||
|
|
||||||
public int? Priority { get; set; }
|
public int? Priority { get; set; }
|
||||||
@@ -93,7 +89,6 @@ namespace DOAN.Model.MES.product.Dto
|
|||||||
|
|
||||||
public string GroupCode { get; set; }
|
public string GroupCode { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 进料单号(领料)
|
/// 进料单号(领料)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -121,13 +116,8 @@ namespace DOAN.Model.MES.product.Dto
|
|||||||
public string UpdatedBy { get; set; }
|
public string UpdatedBy { get; set; }
|
||||||
|
|
||||||
public DateTime? UpdatedTime { get; set; }
|
public DateTime? UpdatedTime { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 工单备料进度
|
/// 工单备料进度
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -172,7 +162,6 @@ namespace DOAN.Model.MES.product.Dto
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 下一个工单号
|
/// 下一个工单号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
||||||
public string next_id { get; set; }
|
public string next_id { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,46 +175,40 @@ namespace DOAN.Model.MES.product.Dto
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string IsMatch_material_code { get; set; }
|
public string IsMatch_material_code { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 物料name在物料清单是否存在
|
/// 物料name在物料清单是否存在
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string IsMatch_material_name { get; set; }
|
public string IsMatch_material_name { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 工艺路线是否存在
|
/// 工艺路线是否存在
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string IsMatch_line { get; set; }
|
public string IsMatch_line { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 组是否存在
|
/// 组是否存在
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string IsMatch_group { get; set; }
|
public string IsMatch_group { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 单位是否存在
|
/// 单位是否存在
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string IsMatch_Unit { get; set; }
|
public string IsMatch_Unit { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 工单BOM 及其所需数量
|
/// 工单BOM 及其所需数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
||||||
public class WorkOrderBom
|
public class WorkOrderBom
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 子件编码
|
/// 子件编码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
||||||
public string SubInvCode { get; set; }
|
public string SubInvCode { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 子件名称
|
/// 子件名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
||||||
public string SubInvName { get; set; }
|
public string SubInvName { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -236,13 +219,11 @@ namespace DOAN.Model.MES.product.Dto
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 使用总数量
|
/// 使用总数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
||||||
public string Iusequantity_All { get; set; }
|
public string Iusequantity_All { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// BOM版本号
|
/// BOM版本号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
||||||
public string BOMVersion { get; set; }
|
public string BOMVersion { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -252,90 +233,82 @@ namespace DOAN.Model.MES.product.Dto
|
|||||||
public class ProWorkorderTranceProgressDto
|
public class ProWorkorderTranceProgressDto
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 雪花id
|
/// 雪花id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 工单号
|
/// 工单号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Workorder { get; set; }
|
public string Workorder { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 存货编码
|
/// 存货编码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string productionCode { get; set; }
|
public string productionCode { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 产品名称
|
/// 产品名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string productionName { get; set; }
|
public string productionName { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 规格型号
|
/// 规格型号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Specification { get; set; }
|
public string Specification { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 交货数量
|
/// 交货数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int? DeliveryNum { get; set; }
|
public int? DeliveryNum { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 组别
|
/// 组别
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string GroupCode { get; set; }
|
public string GroupCode { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 线别
|
/// 线别
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string RouteCode { get; set; }
|
public string RouteCode { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 序号
|
/// 序号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int? Sort { get; set; }
|
public int? Sort { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 工单日期
|
/// 工单日期
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime? WorkorderDate { get; set; }
|
public DateTime? WorkorderDate { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 优先级 1-100
|
/// 优先级 1-100
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int? Priority { get; set; }
|
public int? Priority { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 工单状态
|
/// 工单状态
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int? Status { get; set; }
|
public int? Status { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 工单开始时间
|
/// 工单开始时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
||||||
public DateTime? StartTime { get; set; }
|
public DateTime? StartTime { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 工单结束时间
|
/// 工单结束时间
|
||||||
|
|
||||||
public DateTime? EndTime { get; set; }
|
public DateTime? EndTime { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 计划数量
|
/// 计划数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int? PlanNum { get; set; }
|
public int? PlanNum { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 实际数量
|
/// 实际数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int? ActualNum { get; set; }
|
public int? ActualNum { get; set; }
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -12,13 +12,13 @@ namespace DOAN.Service.MES.product.IService
|
|||||||
{
|
{
|
||||||
List<BaseWorkRoute> GetRoute();
|
List<BaseWorkRoute> GetRoute();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查询全部工序
|
/// 查询全部工序
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
List<BaseWorkProcesses> GetBaseWorkProcesses();
|
List<BaseWorkProcesses> GetBaseWorkProcesses();
|
||||||
|
|
||||||
List<BaseWorkProcesses> GetProcessByRoute(int route_id);
|
List<BaseWorkProcesses> GetProcessByRoute(int route_id);
|
||||||
PagedInfo<ProReportworkDto> GetList(ProReportworkQueryDto parm);
|
PagedInfo<ProReportworkDto> GetList(ProReportworkQueryDto parm);
|
||||||
|
|
||||||
ProReportwork01 GetInfo(string Id);
|
ProReportwork01 GetInfo(string Id);
|
||||||
@@ -27,6 +27,19 @@ namespace DOAN.Service.MES.product.IService
|
|||||||
ProReportwork01 AddProReportwork(ProReportwork01 parm);
|
ProReportwork01 AddProReportwork(ProReportwork01 parm);
|
||||||
int UpdateProReportwork(ProReportwork01 parm);
|
int UpdateProReportwork(ProReportwork01 parm);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 导出报工数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="extportDate"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
List<ProReportworkDto> ReportWorkExport(DateTime extportDate);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 导出报工数据(带查询参数)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="parm"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
List<ProReportworkDto> GetExportList(ProReportworkQueryDto parm);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ public class ProReportworkService : BaseService<ProReportwork01>, IProReportwork
|
|||||||
(q, w, wo) =>
|
(q, w, wo) =>
|
||||||
new ProReportworkDto
|
new ProReportworkDto
|
||||||
{
|
{
|
||||||
|
PlanNum = wo.PlanNum,
|
||||||
ProcessName = w.Name,
|
ProcessName = w.Name,
|
||||||
FeedOrder = wo.FeedOrder,
|
FeedOrder = wo.FeedOrder,
|
||||||
ProductionName = wo.productionName,
|
ProductionName = wo.productionName,
|
||||||
@@ -137,8 +138,8 @@ public class ProReportworkService : BaseService<ProReportwork01>, IProReportwork
|
|||||||
)
|
)
|
||||||
//.AndIF(!string.IsNullOrEmpty(parm.Worker), it => it.Worker.Contains(parm.Worker))
|
//.AndIF(!string.IsNullOrEmpty(parm.Worker), it => it.Worker.Contains(parm.Worker))
|
||||||
.AndIF(!string.IsNullOrEmpty(parm.Worker), it => it.Worker.Contains(parm.Worker))
|
.AndIF(!string.IsNullOrEmpty(parm.Worker), it => it.Worker.Contains(parm.Worker))
|
||||||
.AndIF(parm.RouteId > 0, it => it.RouteId == parm.RouteId)
|
.AndIF(parm.RouteId.HasValue && parm.RouteId > 0, it => it.RouteId == parm.RouteId)
|
||||||
.AndIF(parm.ProcessId > 0, it => it.ProcessId == parm.ProcessId)
|
.AndIF(parm.ProcessId.HasValue && parm.ProcessId > 0, it => it.ProcessId == parm.ProcessId)
|
||||||
.AndIF(
|
.AndIF(
|
||||||
parm.JobDateTime != null && parm.JobDateTime[0] > DateTime.MinValue,
|
parm.JobDateTime != null && parm.JobDateTime[0] > DateTime.MinValue,
|
||||||
it => it.JobDateTime >= parm.JobDateTime[0]
|
it => it.JobDateTime >= parm.JobDateTime[0]
|
||||||
@@ -150,4 +151,64 @@ public class ProReportworkService : BaseService<ProReportwork01>, IProReportwork
|
|||||||
|
|
||||||
return predicate;
|
return predicate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 执行报工数据查询
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="query"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private List<ProReportworkDto> ExecuteExportQuery(ISugarQueryable<ProReportwork01> query)
|
||||||
|
{
|
||||||
|
var response = Context
|
||||||
|
.Queryable(query)
|
||||||
|
.LeftJoin<BaseWorkProcesses>((q, w) => q.ProcessId == w.Id)
|
||||||
|
.LeftJoin<ProWorkorder>((q, w, wo) => q.Workorder == wo.Workorder)
|
||||||
|
.OrderBy((q, w, wo) => new { q.Workorder, w.Id })
|
||||||
|
.Select(
|
||||||
|
(q, w, wo) =>
|
||||||
|
new ProReportworkDto
|
||||||
|
{
|
||||||
|
PlanNum = wo.PlanNum,
|
||||||
|
ProcessName = w.Name,
|
||||||
|
FeedOrder = wo.FeedOrder,
|
||||||
|
ProductionName = wo.productionName,
|
||||||
|
ProductionCode = wo.productionCode,
|
||||||
|
MaterialCode = wo.MaterialCode,
|
||||||
|
MaterialName = wo.MaterialName,
|
||||||
|
StoveCode = wo.StoveCode,
|
||||||
|
},
|
||||||
|
true
|
||||||
|
)
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 导出报工数据
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="extportDate"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public List<ProReportworkDto> ReportWorkExport(DateTime extportDate)
|
||||||
|
{
|
||||||
|
var startDate = extportDate.Date;
|
||||||
|
var endDate = startDate.AddDays(1);
|
||||||
|
|
||||||
|
var query = Queryable()
|
||||||
|
.Where(it => it.JobDateTime >= startDate && it.JobDateTime < endDate);
|
||||||
|
|
||||||
|
return ExecuteExportQuery(query);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 导出报工数据(带查询参数)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="parm"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public List<ProReportworkDto> GetExportList(ProReportworkQueryDto parm)
|
||||||
|
{
|
||||||
|
var predicate = QueryExp(parm);
|
||||||
|
var query = Queryable().Where(predicate.ToExpression());
|
||||||
|
return ExecuteExportQuery(query);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user