diff --git a/DOAN.Admin.WebApi/Controllers/MES/Order/OrderPurchaseController.cs b/DOAN.Admin.WebApi/Controllers/MES/Order/OrderPurchaseController.cs
new file mode 100644
index 0000000..caa7221
--- /dev/null
+++ b/DOAN.Admin.WebApi/Controllers/MES/Order/OrderPurchaseController.cs
@@ -0,0 +1,104 @@
+using Microsoft.AspNetCore.Mvc;
+using DOAN.Model.BZFM.Dto;
+using DOAN.Model.BZFM;
+using DOAN.Service.MES.order.IService;
+using DOAN.Admin.WebApi.Filters;
+using DOAN.Model.MES.order.Dto;
+using DOAN.Model.MES.order;
+
+//创建时间:2025-02-17
+namespace DOAN.Admin.WebApi.Controllers
+{
+ ///
+ /// 采购订单
+ ///
+ [Verify]
+ [Route("mes/orderManagement/OrderPurchase")]
+ public class OrderPurchaseController : BaseController
+ {
+ ///
+ /// 采购订单接口
+ ///
+ private readonly IOrderPurchaseService _OrderPurchaseService;
+
+ public OrderPurchaseController(IOrderPurchaseService OrderPurchaseService)
+ {
+ _OrderPurchaseService = OrderPurchaseService;
+ }
+
+ ///
+ /// 查询采购订单列表
+ ///
+ ///
+ ///
+ [HttpGet("list")]
+ [ActionPermissionFilter(Permission = "orderpurchase:list")]
+ public IActionResult QueryOrderPurchase([FromQuery] OrderPurchaseQueryDto parm)
+ {
+ var response = _OrderPurchaseService.GetList(parm);
+ return SUCCESS(response);
+ }
+
+
+ ///
+ /// 查询采购订单详情
+ ///
+ ///
+ ///
+ [HttpGet("{Id}")]
+ [ActionPermissionFilter(Permission = "orderpurchase:query")]
+ public IActionResult GetOrderPurchase(string Id)
+ {
+ var response = _OrderPurchaseService.GetInfo(Id);
+
+ var info = response.Adapt();
+ return SUCCESS(info);
+ }
+
+ ///
+ /// 添加采购订单
+ ///
+ ///
+ [HttpPost]
+ [ActionPermissionFilter(Permission = "orderpurchase:add")]
+ [Log(Title = "采购订单", BusinessType = BusinessType.INSERT)]
+ public IActionResult AddOrderPurchase([FromBody] OrderPurchaseDto parm)
+ {
+ var modal = parm.Adapt().ToCreate(HttpContext);
+
+ var response = _OrderPurchaseService.AddOrderPurchase(modal);
+
+ return SUCCESS(response);
+ }
+
+ ///
+ /// 更新采购订单
+ ///
+ ///
+ [HttpPut]
+ [ActionPermissionFilter(Permission = "orderpurchase:edit")]
+ [Log(Title = "采购订单", BusinessType = BusinessType.UPDATE)]
+ public IActionResult UpdateOrderPurchase([FromBody] OrderPurchaseDto parm)
+ {
+ var modal = parm.Adapt().ToUpdate(HttpContext);
+ var response = _OrderPurchaseService.UpdateOrderPurchase(modal);
+
+ return ToResponse(response);
+ }
+
+ ///
+ /// 删除采购订单
+ ///
+ ///
+ [HttpPost("delete/{ids}")]
+ [ActionPermissionFilter(Permission = "orderpurchase:delete")]
+ [Log(Title = "采购订单", BusinessType = BusinessType.DELETE)]
+ public IActionResult DeleteOrderPurchase([FromRoute]string ids)
+ {
+ var idArr = Tools.SplitAndConvert(ids);
+
+ return ToResponse(_OrderPurchaseService.Delete(idArr));
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/DOAN.Model/MES/Order/Dto/OrderPurchaseDto.cs b/DOAN.Model/MES/Order/Dto/OrderPurchaseDto.cs
new file mode 100644
index 0000000..6bd075c
--- /dev/null
+++ b/DOAN.Model/MES/Order/Dto/OrderPurchaseDto.cs
@@ -0,0 +1,50 @@
+
+namespace DOAN.Model.MES.order.Dto
+{
+ ///
+ /// 采购订单查询对象
+ ///
+ public class OrderPurchaseQueryDto : PagerInfo
+ {
+ }
+
+ ///
+ /// 采购订单输入输出对象
+ ///
+ public class OrderPurchaseDto
+ {
+ [Required(ErrorMessage = "雪花id不能为空")]
+ public string Id { get; set; }
+
+ public string PurchaseOrder { get; set; }
+
+ public string Poitem { get; set; }
+
+ public string Variety { get; set; }
+
+ public string MaterialName { get; set; }
+
+ public string MaterialCode { get; set; }
+
+ public int? DemandQuantity { get; set; }
+
+ public DateTime? DeliveryDate { get; set; }
+
+ public int? DeliveryQuantity { get; set; }
+
+ public DateTime? StartDate { get; set; }
+
+ public DateTime? EndDate { get; set; }
+
+ public string CreatedBy { get; set; }
+
+ public DateTime? CreatedTime { get; set; }
+
+ public string UpdatedBy { get; set; }
+
+ public DateTime? UpdatedTime { get; set; }
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/DOAN.Model/MES/Order/OrderPurchase.cs b/DOAN.Model/MES/Order/OrderPurchase.cs
new file mode 100644
index 0000000..1a5f64b
--- /dev/null
+++ b/DOAN.Model/MES/Order/OrderPurchase.cs
@@ -0,0 +1,99 @@
+
+namespace DOAN.Model.MES.order
+{
+ ///
+ /// 采购订单
+ ///
+ [SugarTable("order_purchase")]
+ public class OrderPurchase
+ {
+ ///
+ /// 雪花id
+ ///
+ [SugarColumn(IsPrimaryKey = true, IsIdentity = false)]
+ public string Id { get; set; }
+
+ ///
+ /// 采购订单
+ ///
+ [SugarColumn(ColumnName = "purchase_order")]
+ public string PurchaseOrder { get; set; }
+
+ ///
+ /// Poitem
+ ///
+ public string Poitem { get; set; }
+
+ ///
+ /// 品种
+ ///
+ public string Variety { get; set; }
+
+ ///
+ /// 物料
+ ///
+ [SugarColumn(ColumnName = "material_name")]
+ public string MaterialName { get; set; }
+
+ ///
+ /// 物料号
+ ///
+ [SugarColumn(ColumnName = "material_code")]
+ public string MaterialCode { get; set; }
+
+ ///
+ /// 需求数量
+ ///
+ [SugarColumn(ColumnName = "demand_quantity")]
+ public int? DemandQuantity { get; set; }
+
+ ///
+ /// 交货日期
+ ///
+ [SugarColumn(ColumnName = "delivery_date")]
+ public DateTime? DeliveryDate { get; set; }
+
+ ///
+ /// 实际交货数量
+ ///
+ [SugarColumn(ColumnName = "delivery_quantity")]
+ public int? DeliveryQuantity { get; set; }
+
+ ///
+ /// 基本开始日期
+ ///
+ [SugarColumn(ColumnName = "start_date")]
+ public DateTime? StartDate { get; set; }
+
+ ///
+ /// 基本结束日期
+ ///
+ [SugarColumn(ColumnName = "end_date")]
+ public DateTime? EndDate { get; set; }
+
+ ///
+ /// 创建人
+ ///
+ [SugarColumn(ColumnName = "cREATED_BY")]
+ public string CreatedBy { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ [SugarColumn(ColumnName = "cREATED_TIME")]
+ public DateTime? CreatedTime { get; set; }
+
+ ///
+ /// 更新人
+ ///
+ [SugarColumn(ColumnName = "uPDATED_BY")]
+ public string UpdatedBy { get; set; }
+
+ ///
+ /// 更新时间
+ ///
+ [SugarColumn(ColumnName = "uPDATED_TIME")]
+ public DateTime? UpdatedTime { get; set; }
+
+ }
+}
\ No newline at end of file
diff --git a/DOAN.Service/MES/Order/IService/IOrderPurchaseService.cs b/DOAN.Service/MES/Order/IService/IOrderPurchaseService.cs
new file mode 100644
index 0000000..9bb27a5
--- /dev/null
+++ b/DOAN.Service/MES/Order/IService/IOrderPurchaseService.cs
@@ -0,0 +1,21 @@
+using DOAN.Model.MES.order.Dto;
+using DOAN.Model.MES.order;
+
+namespace DOAN.Service.MES.order.IService
+{
+ ///
+ /// 采购订单service接口
+ ///
+ public interface IOrderPurchaseService : IBaseService
+ {
+ PagedInfo GetList(OrderPurchaseQueryDto parm);
+
+ OrderPurchase GetInfo(string Id);
+
+
+ OrderPurchase AddOrderPurchase(OrderPurchase parm);
+ int UpdateOrderPurchase(OrderPurchase parm);
+
+
+ }
+}
diff --git a/DOAN.Service/MES/Order/OrderPurchaseService.cs b/DOAN.Service/MES/Order/OrderPurchaseService.cs
new file mode 100644
index 0000000..14a8547
--- /dev/null
+++ b/DOAN.Service/MES/Order/OrderPurchaseService.cs
@@ -0,0 +1,79 @@
+using Infrastructure.Attribute;
+using Infrastructure.Extensions;
+using DOAN.Service.MES.order.IService;
+using DOAN.Repository;
+using DOAN.Model.MES.order.Dto;
+using DOAN.Model.MES.order;
+
+namespace DOAN.Service.MES.order
+{
+ ///
+ /// 采购订单Service业务层处理
+ ///
+ [AppService(ServiceType = typeof(IOrderPurchaseService), ServiceLifetime = LifeTime.Transient)]
+ public class OrderPurchaseService : BaseService, IOrderPurchaseService
+ {
+ ///
+ /// 查询采购订单列表
+ ///
+ ///
+ ///
+ public PagedInfo GetList(OrderPurchaseQueryDto parm)
+ {
+ var predicate = QueryExp(parm);
+
+ var response = Queryable()
+ .Where(predicate.ToExpression())
+ .ToPage(parm);
+
+ return response;
+ }
+
+
+ ///
+ /// 获取详情
+ ///
+ ///
+ ///
+ public OrderPurchase GetInfo(string Id)
+ {
+ var response = Queryable()
+ .Where(x => x.Id == Id)
+ .First();
+
+ return response;
+ }
+
+ ///
+ /// 添加采购订单
+ ///
+ ///
+ ///
+ public OrderPurchase AddOrderPurchase(OrderPurchase model)
+ {
+ return Insertable(model).ExecuteReturnEntity();
+ }
+
+ ///
+ /// 修改采购订单
+ ///
+ ///
+ ///
+ public int UpdateOrderPurchase(OrderPurchase model)
+ {
+ return Update(model, true);
+ }
+
+ ///
+ /// 查询导出表达式
+ ///
+ ///
+ ///
+ private static Expressionable QueryExp(OrderPurchaseQueryDto parm)
+ {
+ var predicate = Expressionable.Create();
+
+ return predicate;
+ }
+ }
+}
\ No newline at end of file