diff --git a/DOAN.Admin.WebApi/Controllers/MES/Order/DeliveryScheduleController.cs b/DOAN.Admin.WebApi/Controllers/MES/Order/DeliveryScheduleController.cs
new file mode 100644
index 0000000..18e04bf
--- /dev/null
+++ b/DOAN.Admin.WebApi/Controllers/MES/Order/DeliveryScheduleController.cs
@@ -0,0 +1,46 @@
+using Microsoft.AspNetCore.Mvc;
+
+using DOAN.Admin.WebApi.Filters;
+using DOAN.Service.MES.Order.IService;
+using DOAN.Service.MES.order.IService;
+using DOAN.Model.MES.order.Dto;
+using DOAN.Service.MES.order;
+using Infrastructure.Converter;
+
+
+namespace DOAN.Admin.WebApi.Controllers.MES.Order
+{
+ ///
+ /// 交付进度
+ ///
+ [Verify]
+ [Route("mes/deliveryManagement/OrderPurchase")]
+ public class DeliveryScheduleController : BaseController
+ {
+ ///
+ /// 交付进度接口
+ ///
+ private readonly IDeliveryScheduleService _deliveryScheduleService;
+ public DeliveryScheduleController(IDeliveryScheduleService deliveryScheduleService)
+ {
+ _deliveryScheduleService= deliveryScheduleService;
+ }
+
+
+ ///
+ /// 交付进度列表
+ ///
+ ///
+ ///
+ [HttpPost("list")]
+ [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 = _deliveryScheduleService.GetList(parm);
+ return SUCCESS(response);
+ }
+
+ }
+}
diff --git a/DOAN.Admin.WebApi/Controllers/MES/Order/OrderPurchaseController.cs b/DOAN.Admin.WebApi/Controllers/MES/Order/OrderPurchaseController.cs
index 1391215..939bc45 100644
--- a/DOAN.Admin.WebApi/Controllers/MES/Order/OrderPurchaseController.cs
+++ b/DOAN.Admin.WebApi/Controllers/MES/Order/OrderPurchaseController.cs
@@ -9,6 +9,7 @@ using DOAN.Model.System.Dto;
using DOAN.Model;
using DOAN.Model.System;
using MiniExcelLibs;
+using Infrastructure.Converter;
//创建时间:2025-02-17
namespace DOAN.Admin.WebApi.Controllers
@@ -39,6 +40,8 @@ namespace DOAN.Admin.WebApi.Controllers
[ActionPermissionFilter(Permission = "orderpurchase:list")]
public IActionResult QueryOrderPurchase([FromQuery] 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);
}
@@ -136,9 +139,6 @@ namespace DOAN.Admin.WebApi.Controllers
int response = _OrderPurchaseService.ImportData(formFile, HttpContext.GetName());
return SUCCESS(response);
-
-
-
}
diff --git a/DOAN.Model/MES/Order/Dto/OrderPurchaseDto.cs b/DOAN.Model/MES/Order/Dto/OrderPurchaseDto.cs
index e790a03..1914d6a 100644
--- a/DOAN.Model/MES/Order/Dto/OrderPurchaseDto.cs
+++ b/DOAN.Model/MES/Order/Dto/OrderPurchaseDto.cs
@@ -6,6 +6,11 @@ namespace DOAN.Model.MES.order.Dto
///
public class OrderPurchaseQueryDto : PagerInfo
{
+ public DateTime[] ImportDate { get; set; }
+
+ public string OrderNoMes { get; set; }
+
+ public string PurchaseOrderErp { get; set; }
}
///
diff --git a/DOAN.Model/MES/Order/Dto/OrderScheduleDto.cs b/DOAN.Model/MES/Order/Dto/OrderScheduleDto.cs
new file mode 100644
index 0000000..9102a80
--- /dev/null
+++ b/DOAN.Model/MES/Order/Dto/OrderScheduleDto.cs
@@ -0,0 +1,16 @@
+using DOAN.Model.MES.order.Dto;
+using DOAN.Model.MES.product;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DOAN.Model.MES.Order.Dto
+{
+ public class OrderScheduleDto : OrderPurchaseDto
+ {
+
+ public List Children { get; set; }
+ }
+}
diff --git a/DOAN.Service/MES/Order/DeliveryScheduleService.cs b/DOAN.Service/MES/Order/DeliveryScheduleService.cs
new file mode 100644
index 0000000..c15bd39
--- /dev/null
+++ b/DOAN.Service/MES/Order/DeliveryScheduleService.cs
@@ -0,0 +1,91 @@
+using DOAN.Model.MES.order;
+using DOAN.Model.MES.order.Dto;
+using DOAN.Model.MES.Order.Dto;
+using DOAN.Model.MES.product;
+using DOAN.Service.MES.order.IService;
+using DOAN.Service.MES.Order.IService;
+using Infrastructure.Attribute;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DOAN.Service.MES.Order
+{
+ [AppService(ServiceType = typeof(IDeliveryScheduleService), ServiceLifetime = LifeTime.Transient)]
+ public class DeliveryScheduleService : BaseService, IDeliveryScheduleService
+ {
+ ///
+ /// 获取交付进度
+ ///
+ ///
+ ///
+ public List GetList(OrderPurchaseQueryDto parm)
+ {
+ var predicate = QueryExp(parm);
+ var queryResult = Context.Queryable()
+ .LeftJoin((o, w) => o.OrderNoMes == w.FeedOrder)
+ .Where(predicate.ToExpression())
+ .Where((o, w) => !SqlFunc.IsNullOrEmpty(o.OrderNoMes))
+ .OrderBy((o, w) => o.Id)
+ .Select((o, w) => new OrderScheduleDto
+ {
+ Id = o.Id,
+ ImportDate = o.ImportDate,
+ OrderNoMes = o.OrderNoMes,
+ PurchaseOrderErp = o.PurchaseOrderErp,
+ Poitem = o.Poitem,
+ Variety = o.Variety,
+ Specordindicator = o.Specordindicator,
+ KdType = o.KdType,
+ DocumentDate = o.DocumentDate,
+ Seller = o.Seller,
+ SalesArea = o.SalesArea,
+ MaterialName = o.MaterialName,
+ MaterialCode = o.MaterialCode,
+ DemandQuantity = o.DemandQuantity,
+ DeliveryDate = o.DeliveryDate,
+ DeliveryQuantity = o.DeliveryQuantity,
+ StartDate = o.StartDate,
+ EndDate = o.EndDate,
+ Orderindicator = o.Orderindicator,
+ RouteCode = o.RouteCode,
+ Status = o.Status,
+ Remark = o.Remark,
+ CreatedBy = o.CreatedBy,
+ CreatedTime = o.CreatedTime,
+ UpdatedBy = o.UpdatedBy,
+ UpdatedTime = o.UpdatedTime,
+ Children = SqlFunc.Subqueryable()
+ .Where(w => w.FeedOrder == o.OrderNoMes) // 子查询,获取对应的工单数据
+ .ToList()
+ })
+ .Distinct()
+
+ .ToList();
+
+
+
+
+
+ return queryResult;
+ }
+
+ private static Expressionable QueryExp(OrderPurchaseQueryDto parm)
+ {
+ var predicate = Expressionable.Create()
+ .AndIF(!string.IsNullOrEmpty(parm.OrderNoMes), (o, w) => o.OrderNoMes.Contains(parm.OrderNoMes))
+ .AndIF(!string.IsNullOrEmpty(parm.PurchaseOrderErp), (o, w) => o.OrderNoMes.Contains(parm.PurchaseOrderErp))
+ .AndIF(parm.ImportDate != null && parm.ImportDate[0] > DateTime.MinValue, (o, w) => o.ImportDate >= parm.ImportDate[0])
+ .AndIF(parm.ImportDate != null && parm.ImportDate[1] > DateTime.MinValue, (o, w) => o.ImportDate >= parm.ImportDate[1])
+
+ ;
+
+ return predicate;
+ }
+
+ }
+
+
+}
diff --git a/DOAN.Service/MES/Order/IService/IDeliveryScheduleService.cs b/DOAN.Service/MES/Order/IService/IDeliveryScheduleService.cs
new file mode 100644
index 0000000..671b5e1
--- /dev/null
+++ b/DOAN.Service/MES/Order/IService/IDeliveryScheduleService.cs
@@ -0,0 +1,16 @@
+using DOAN.Model.MES.order;
+using DOAN.Model.MES.order.Dto;
+using DOAN.Model.MES.Order.Dto;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DOAN.Service.MES.Order.IService
+{
+ public interface IDeliveryScheduleService : IBaseService
+ {
+ List GetList(OrderPurchaseQueryDto parm);
+ }
+}
diff --git a/DOAN.Service/MES/Order/OrderPurchaseService.cs b/DOAN.Service/MES/Order/OrderPurchaseService.cs
index e2e5174..997490e 100644
--- a/DOAN.Service/MES/Order/OrderPurchaseService.cs
+++ b/DOAN.Service/MES/Order/OrderPurchaseService.cs
@@ -77,8 +77,14 @@ namespace DOAN.Service.MES.order
///
private static Expressionable QueryExp(OrderPurchaseQueryDto parm)
{
- var predicate = Expressionable.Create();
+ var predicate = Expressionable.Create()
+ .AndIF(!string.IsNullOrEmpty(parm.OrderNoMes), it => it.OrderNoMes.Contains(parm.OrderNoMes))
+ .AndIF(!string.IsNullOrEmpty(parm.PurchaseOrderErp), it => it.OrderNoMes.Contains(parm.PurchaseOrderErp))
+ .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])
+ ;
+
return predicate;
}