完善订单查询,导出功能,完善工单查询功能
This commit is contained in:
@@ -40,8 +40,7 @@ namespace DOAN.Admin.WebApi.Controllers
|
||||
[ActionPermissionFilter(Permission = "orderpurchase:list")]
|
||||
public IActionResult QueryOrderPurchase([FromBody] OrderPurchaseQueryDto parm)
|
||||
{
|
||||
parm.ImportDate[0]= DOANConvertDate.ConvertLocalDate(parm.ImportDate[0]);
|
||||
parm.ImportDate[1]= DOANConvertDate.ConvertLocalDate(parm.ImportDate[1]);
|
||||
|
||||
var response = _OrderPurchaseService.GetList(parm);
|
||||
return SUCCESS(response);
|
||||
}
|
||||
@@ -147,14 +146,14 @@ namespace DOAN.Admin.WebApi.Controllers
|
||||
/// <summary>
|
||||
/// 采购订单excel导出
|
||||
/// </summary>
|
||||
/// <param name="user"></param>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("export")]
|
||||
[Log(Title = "用户导出", BusinessType = BusinessType.EXPORT)]
|
||||
[Log(Title = "采购订单导出", BusinessType = BusinessType.EXPORT)]
|
||||
[AllowAnonymous]
|
||||
public IActionResult UserExport([FromQuery] OrderPurchaseQueryDto order)
|
||||
public IActionResult UserExport([FromQuery] OrderPurchaseQueryDto parm)
|
||||
{
|
||||
var list = _OrderPurchaseService.SelectOrderList(order);
|
||||
var list = _OrderPurchaseService.SelectOrderList(parm);
|
||||
|
||||
var result = ExportExcelMini(list, "order", "采购订单列表");
|
||||
return ExportExcel(result.Item2, result.Item1);
|
||||
|
||||
@@ -36,8 +36,7 @@ namespace DOAN.Admin.WebApi.Controllers
|
||||
[ActionPermissionFilter(Permission = "productManagement:proworkorder:list")]
|
||||
public IActionResult QueryProWorkorder([FromBody] ProWorkorderQueryDto parm)
|
||||
{
|
||||
parm.WorkorderDate[0] = DOANConvertDate.ConvertLocalDate(parm.WorkorderDate[0]);
|
||||
parm.WorkorderDate[1]= DOANConvertDate.ConvertLocalDate(parm.WorkorderDate[1]);
|
||||
|
||||
|
||||
var response = _ProWorkorderService.GetList(parm);
|
||||
return SUCCESS(response);
|
||||
|
||||
@@ -6,16 +6,39 @@ namespace DOAN.Model.MES.order.Dto
|
||||
/// </summary>
|
||||
public class OrderPurchaseQueryDto : PagerInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 导入日期
|
||||
/// </summary>
|
||||
public DateTime[] ImportDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单号(MES实际使用)
|
||||
/// </summary>
|
||||
public string OrderNoMes { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 采购订单号(对接ERP)
|
||||
/// </summary>
|
||||
public string PurchaseOrderErp { get; set; }
|
||||
/// <summary>
|
||||
/// 工单号
|
||||
/// </summary>
|
||||
public string WorkOrder { get; set; }
|
||||
/// <summary>
|
||||
/// 领料单号
|
||||
/// </summary>
|
||||
public string FeedOrder { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物料号
|
||||
/// </summary>
|
||||
public string MaterialCode { get; set; }
|
||||
/// <summary>
|
||||
/// 是否完成订单
|
||||
/// </summary>
|
||||
public int Orderindicator { get; set; }
|
||||
/// <summary>
|
||||
/// 是否非标
|
||||
/// </summary>
|
||||
public int Specordindicator { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -76,12 +99,38 @@ namespace DOAN.Model.MES.order.Dto
|
||||
|
||||
public DateTime? UpdatedTime { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
[ExcelColumn(Name = "类型")]
|
||||
public string KdTypeLabel { get; set; }
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 采购订单导出对象
|
||||
/// </summary>
|
||||
public class OrderPurchaseExcelDto
|
||||
{
|
||||
[ExcelColumnName("系统编号(id)")]
|
||||
public string Id { get; set; }
|
||||
[ExcelColumnName("导入时间(import_date)")]
|
||||
public DateTime? ImportDate { get; set; }
|
||||
[ExcelColumnName("订单号(order_no_mes)")]
|
||||
public string OrderNoMes { get; set; }
|
||||
[ExcelColumnName("物料名称")]
|
||||
public string MaterialName { get; set; }
|
||||
[ExcelColumnName("物料编号")]
|
||||
public string MaterialCode { get; set; }
|
||||
[ExcelColumnName("交货日期(delivery_date)")]
|
||||
public DateTime? DocumentDate { get; set; }
|
||||
[ExcelColumnName("需求数量(demand_quantity)")]
|
||||
public int? DemandQuantity { get; set; }
|
||||
[ExcelColumnName("交货日期(delivery_date)")]
|
||||
public DateTime? DeliveryDate { get; set; }
|
||||
[ExcelColumnName("交货数量(delivery_quantity)")]
|
||||
public int? DeliveryQuantity { get; set; }
|
||||
[ExcelColumnName("订单开始时间(start_date)")]
|
||||
public DateTime? StartDate { get; set; }
|
||||
[ExcelColumnName("订单结束时间(end_date)")]
|
||||
public DateTime? EndDate { get; set; }
|
||||
[ExcelColumnName("订单是否完成(0-未完成/1-完成)")]
|
||||
public int Orderindicator { get; set; }
|
||||
[ExcelColumnName("备注")]
|
||||
public string Remark { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,16 @@ namespace DOAN.Model.MES.product.Dto
|
||||
public string RouteCode { get; set; }
|
||||
public string GroupCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 进料单号(领料)
|
||||
/// </summary>
|
||||
public string FeedOrder { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 客户单号(出货)
|
||||
/// </summary>
|
||||
public string CustomerOrder { get; set; }
|
||||
|
||||
public int Status { get; set; }
|
||||
|
||||
public DateTime[] WorkorderDate { get; set; } = new DateTime[2];
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace DOAN.Service.MES.order.IService
|
||||
OrderPurchase AddOrderPurchase(OrderPurchase parm);
|
||||
int UpdateOrderPurchase(OrderPurchase parm);
|
||||
|
||||
List<OrderPurchaseDto> SelectOrderList(OrderPurchaseQueryDto orderPurchaseDto);
|
||||
List<OrderPurchaseExcelDto> SelectOrderList(OrderPurchaseQueryDto orderPurchaseDto);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
using Infrastructure.Attribute;
|
||||
using Infrastructure.Extensions;
|
||||
using DOAN.Service.MES.order.IService;
|
||||
using DOAN.Repository;
|
||||
using DOAN.Model.MES.order.Dto;
|
||||
using Aliyun.OSS;
|
||||
using DOAN.Model.MES.order;
|
||||
using DOAN.Model.MES.order.Dto;
|
||||
using DOAN.Model.MES.product;
|
||||
using DOAN.Repository;
|
||||
using DOAN.Service.MES.order.IService;
|
||||
using Infrastructure.Attribute;
|
||||
using Infrastructure.Converter;
|
||||
using Mapster;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using NPOI.SS.UserModel;
|
||||
using NPOI.XSSF.UserModel;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using Aliyun.OSS;
|
||||
using Mapster;
|
||||
using ZXing;
|
||||
|
||||
namespace DOAN.Service.MES.order
|
||||
{
|
||||
@@ -27,10 +26,49 @@ namespace DOAN.Service.MES.order
|
||||
/// <returns></returns>
|
||||
public PagedInfo<OrderPurchaseDto> GetList(OrderPurchaseQueryDto parm)
|
||||
{
|
||||
|
||||
// 日期处理
|
||||
if (parm != null && parm.ImportDate != null && parm.ImportDate.Length > 0)
|
||||
{
|
||||
if (parm.ImportDate[0] > DateTime.MinValue)
|
||||
{
|
||||
parm.ImportDate[0] = DOANConvertDate.ConvertLocalDate(parm.ImportDate[0]);
|
||||
}
|
||||
if (parm.ImportDate[1] > DateTime.MinValue)
|
||||
{
|
||||
parm.ImportDate[1] = DOANConvertDate.ConvertLocalDate(parm.ImportDate[1]);
|
||||
}
|
||||
}
|
||||
string _orderNoMes = parm.OrderNoMes;
|
||||
// 工单查询处理
|
||||
if (parm != null && !string.IsNullOrEmpty(parm.WorkOrder))
|
||||
{
|
||||
var workorderInfo = Context.Queryable<ProWorkorder>()
|
||||
.Where(it => it.Workorder.Contains(parm.WorkOrder))
|
||||
.First();
|
||||
if(workorderInfo != null)
|
||||
{
|
||||
parm.OrderNoMes = workorderInfo.CustomerOrder;
|
||||
}
|
||||
}
|
||||
// 领料单查询处理
|
||||
if (parm != null && !string.IsNullOrEmpty(parm.FeedOrder))
|
||||
{
|
||||
var workorderInfo = Context.Queryable<ProWorkorder>()
|
||||
.Where(it => it.FeedOrder.Contains(parm.FeedOrder))
|
||||
.First();
|
||||
if (workorderInfo != null)
|
||||
{
|
||||
parm.OrderNoMes = workorderInfo.CustomerOrder;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var predicate = QueryExp(parm);
|
||||
|
||||
var response = Queryable()
|
||||
.Where(predicate.ToExpression())
|
||||
.OrderBy(it=> it.OrderNoMes)
|
||||
.ToPage<OrderPurchase, OrderPurchaseDto>(parm);
|
||||
|
||||
return response;
|
||||
@@ -81,10 +119,10 @@ namespace DOAN.Service.MES.order
|
||||
var predicate = Expressionable.Create<OrderPurchase>()
|
||||
.AndIF(!string.IsNullOrEmpty(parm.OrderNoMes), it => it.OrderNoMes.Contains(parm.OrderNoMes))
|
||||
.AndIF(!string.IsNullOrEmpty(parm.PurchaseOrderErp), it => it.PurchaseOrderErp.Contains(parm.PurchaseOrderErp))
|
||||
.AndIF(!string.IsNullOrEmpty(parm.MaterialCode), it => it.MaterialCode.Contains(parm.MaterialCode))
|
||||
.AndIF(parm.ImportDate != null && parm.ImportDate[0] > DateTime.MinValue, it => it.ImportDate >= parm.ImportDate[0])
|
||||
.AndIF(parm.ImportDate != null && parm.ImportDate[1] > DateTime.MinValue, it => it.ImportDate <= parm.ImportDate[1])
|
||||
.AndIF(parm.Orderindicator > -1, it => it.Orderindicator == parm.Orderindicator)
|
||||
|
||||
;
|
||||
|
||||
return predicate;
|
||||
@@ -212,12 +250,63 @@ namespace DOAN.Service.MES.order
|
||||
}
|
||||
}
|
||||
|
||||
public List<OrderPurchaseDto> SelectOrderList(OrderPurchaseQueryDto orderPurchaseDto)
|
||||
public List<OrderPurchaseExcelDto> SelectOrderList(OrderPurchaseQueryDto parm)
|
||||
{
|
||||
var predicate = QueryExp(orderPurchaseDto);
|
||||
|
||||
// 日期处理
|
||||
if (parm != null && parm.ImportDate != null && parm.ImportDate.Length > 0)
|
||||
{
|
||||
if (parm.ImportDate[0] > DateTime.MinValue)
|
||||
{
|
||||
parm.ImportDate[0] = DOANConvertDate.ConvertLocalDate(parm.ImportDate[0]);
|
||||
}
|
||||
if (parm.ImportDate[1] > DateTime.MinValue)
|
||||
{
|
||||
parm.ImportDate[1] = DOANConvertDate.ConvertLocalDate(parm.ImportDate[1]);
|
||||
}
|
||||
}
|
||||
string _orderNoMes = parm.OrderNoMes;
|
||||
// 工单查询处理
|
||||
if (parm != null && !string.IsNullOrEmpty(parm.WorkOrder))
|
||||
{
|
||||
var workorderInfo = Context.Queryable<ProWorkorder>()
|
||||
.Where(it => it.Workorder.Contains(parm.WorkOrder))
|
||||
.First();
|
||||
if (workorderInfo != null)
|
||||
{
|
||||
parm.OrderNoMes = workorderInfo.CustomerOrder;
|
||||
}
|
||||
}
|
||||
// 领料单查询处理
|
||||
if (parm != null && !string.IsNullOrEmpty(parm.FeedOrder))
|
||||
{
|
||||
var workorderInfo = Context.Queryable<ProWorkorder>()
|
||||
.Where(it => it.FeedOrder.Contains(parm.FeedOrder))
|
||||
.First();
|
||||
if (workorderInfo != null)
|
||||
{
|
||||
parm.OrderNoMes = workorderInfo.CustomerOrder;
|
||||
}
|
||||
}
|
||||
var predicate = QueryExp(parm);
|
||||
var response = Queryable()
|
||||
.Where(predicate.ToExpression()).Adapt<List<OrderPurchaseDto>>();
|
||||
.Where(predicate.ToExpression())
|
||||
.OrderBy(it => it.OrderNoMes)
|
||||
.Select(it => new OrderPurchaseExcelDto
|
||||
{
|
||||
Id = it.Id,
|
||||
OrderNoMes = it.OrderNoMes,
|
||||
ImportDate = it.ImportDate,
|
||||
MaterialCode = it.MaterialCode,
|
||||
MaterialName = it.MaterialName,
|
||||
DocumentDate = it.DocumentDate,
|
||||
DemandQuantity = it.DemandQuantity,
|
||||
DeliveryDate = it.DeliveryDate,
|
||||
DeliveryQuantity = it.DeliveryQuantity,
|
||||
Orderindicator = it.Orderindicator,
|
||||
StartDate = it.StartDate,
|
||||
EndDate = it.EndDate,
|
||||
Remark = it.Remark
|
||||
}).ToList();
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
@@ -49,6 +49,8 @@ namespace DOAN.Service.MES.product
|
||||
{
|
||||
if (parm.WorkorderDate != null && parm.WorkorderDate.Length > 0)
|
||||
{
|
||||
parm.WorkorderDate[0] = DOANConvertDate.ConvertLocalDate(parm.WorkorderDate[0]);
|
||||
parm.WorkorderDate[1] = DOANConvertDate.ConvertLocalDate(parm.WorkorderDate[1]);
|
||||
parm.WorkorderDate[0] = parm.WorkorderDate[0].Date;
|
||||
parm.WorkorderDate[1] = parm.WorkorderDate[1].Date;
|
||||
}
|
||||
@@ -63,6 +65,14 @@ namespace DOAN.Service.MES.product
|
||||
!string.IsNullOrEmpty(parm.productionCode),
|
||||
it => it.productionCode.Contains(parm.productionCode)
|
||||
)
|
||||
.AndIF(
|
||||
!string.IsNullOrEmpty(parm.FeedOrder),
|
||||
it => it.FeedOrder.Contains(parm.FeedOrder)
|
||||
)
|
||||
.AndIF(
|
||||
!string.IsNullOrEmpty(parm.CustomerOrder),
|
||||
it => it.CustomerOrder.Contains(parm.CustomerOrder)
|
||||
)
|
||||
.AndIF(!string.IsNullOrEmpty(parm.RouteCode), it => it.RouteCode == parm.RouteCode)
|
||||
.AndIF(!string.IsNullOrEmpty(parm.GroupCode), it => it.GroupCode == parm.GroupCode)
|
||||
.AndIF(
|
||||
@@ -148,6 +158,13 @@ namespace DOAN.Service.MES.product
|
||||
/// <returns></returns>
|
||||
public PagedInfo<ProWorkorderDto> GetList_NOCheck(ProWorkorderQueryDto parm)
|
||||
{
|
||||
if (parm.WorkorderDate != null && parm.WorkorderDate.Length > 0)
|
||||
{
|
||||
parm.WorkorderDate[0] = DOANConvertDate.ConvertLocalDate(parm.WorkorderDate[0]);
|
||||
parm.WorkorderDate[1] = DOANConvertDate.ConvertLocalDate(parm.WorkorderDate[1]);
|
||||
parm.WorkorderDate[0] = parm.WorkorderDate[0].Date;
|
||||
parm.WorkorderDate[1] = parm.WorkorderDate[1].Date;
|
||||
}
|
||||
var predicate = Expressionable
|
||||
.Create<ProWorkorder>()
|
||||
.AndIF(
|
||||
@@ -162,6 +179,14 @@ namespace DOAN.Service.MES.product
|
||||
!string.IsNullOrEmpty(parm.productionCode),
|
||||
it => it.productionCode.Contains(parm.productionCode)
|
||||
)
|
||||
.AndIF(
|
||||
!string.IsNullOrEmpty(parm.FeedOrder),
|
||||
it => it.FeedOrder.Contains(parm.FeedOrder)
|
||||
)
|
||||
.AndIF(
|
||||
!string.IsNullOrEmpty(parm.CustomerOrder),
|
||||
it => it.CustomerOrder.Contains(parm.CustomerOrder)
|
||||
)
|
||||
.AndIF(!string.IsNullOrEmpty(parm.RouteCode), it => it.RouteCode == parm.RouteCode)
|
||||
.AndIF(!string.IsNullOrEmpty(parm.GroupCode), it => it.GroupCode == parm.GroupCode)
|
||||
.AndIF(
|
||||
|
||||
Reference in New Issue
Block a user