订单交付
This commit is contained in:
@@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// 交付进度
|
||||
/// </summary>
|
||||
[Verify]
|
||||
[Route("mes/deliveryManagement/OrderPurchase")]
|
||||
public class DeliveryScheduleController : BaseController
|
||||
{
|
||||
/// <summary>
|
||||
/// 交付进度接口
|
||||
/// </summary>
|
||||
private readonly IDeliveryScheduleService _deliveryScheduleService;
|
||||
public DeliveryScheduleController(IDeliveryScheduleService deliveryScheduleService)
|
||||
{
|
||||
_deliveryScheduleService= deliveryScheduleService;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 交付进度列表
|
||||
/// </summary>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
[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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -6,6 +6,11 @@ namespace DOAN.Model.MES.order.Dto
|
||||
/// </summary>
|
||||
public class OrderPurchaseQueryDto : PagerInfo
|
||||
{
|
||||
public DateTime[] ImportDate { get; set; }
|
||||
|
||||
public string OrderNoMes { get; set; }
|
||||
|
||||
public string PurchaseOrderErp { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
16
DOAN.Model/MES/Order/Dto/OrderScheduleDto.cs
Normal file
16
DOAN.Model/MES/Order/Dto/OrderScheduleDto.cs
Normal file
@@ -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<ProWorkorder> Children { get; set; }
|
||||
}
|
||||
}
|
||||
91
DOAN.Service/MES/Order/DeliveryScheduleService.cs
Normal file
91
DOAN.Service/MES/Order/DeliveryScheduleService.cs
Normal file
@@ -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<OrderPurchase>, IDeliveryScheduleService
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取交付进度
|
||||
/// </summary>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
public List<OrderScheduleDto> GetList(OrderPurchaseQueryDto parm)
|
||||
{
|
||||
var predicate = QueryExp(parm);
|
||||
var queryResult = Context.Queryable<OrderPurchase>()
|
||||
.LeftJoin<ProWorkorder>((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<ProWorkorder>()
|
||||
.Where(w => w.FeedOrder == o.OrderNoMes) // 子查询,获取对应的工单数据
|
||||
.ToList()
|
||||
})
|
||||
.Distinct()
|
||||
|
||||
.ToList();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return queryResult;
|
||||
}
|
||||
|
||||
private static Expressionable<OrderPurchase, ProWorkorder> QueryExp(OrderPurchaseQueryDto parm)
|
||||
{
|
||||
var predicate = Expressionable.Create<OrderPurchase, ProWorkorder>()
|
||||
.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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
16
DOAN.Service/MES/Order/IService/IDeliveryScheduleService.cs
Normal file
16
DOAN.Service/MES/Order/IService/IDeliveryScheduleService.cs
Normal file
@@ -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<OrderPurchase>
|
||||
{
|
||||
List<OrderScheduleDto> GetList(OrderPurchaseQueryDto parm);
|
||||
}
|
||||
}
|
||||
@@ -77,8 +77,14 @@ namespace DOAN.Service.MES.order
|
||||
/// <returns></returns>
|
||||
private static Expressionable<OrderPurchase> QueryExp(OrderPurchaseQueryDto parm)
|
||||
{
|
||||
var predicate = Expressionable.Create<OrderPurchase>();
|
||||
var predicate = Expressionable.Create<OrderPurchase>()
|
||||
.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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user