From da8d45df31aebdf0eda2c57155d1a915e2e1e89f Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期三, 26 十一月 2025 18:02:25 +0800
Subject: [PATCH] yys 1.生产管理逻辑修改

---
 src/main/java/com/ruoyi/production/service/SalesLedgerSchedulingService.java          |    2 
 src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java |   25 -
 src/main/java/com/ruoyi/production/controller/ProductionOrderController.java          |   90 ++++++
 src/main/resources/mapper/production/SalesLedgerWorkMapper.xml                        |   29 -
 src/main/java/com/ruoyi/production/dto/DaiDto.java                                    |   83 ++----
 src/main/java/com/ruoyi/production/pojo/SalesLedgerScheduling.java                    |    2 
 src/main/resources/mapper/production/ProductionOrderMapper.xml                        |    5 
 src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingProcessDto.java           |   34 --
 src/main/java/com/ruoyi/production/mapper/ProductionOrderMapper.java                  |   11 
 src/main/java/com/ruoyi/production/dto/ProcessSchedulingDto.java                      |   20 +
 src/main/java/com/ruoyi/production/pojo/SalesLedgerWork.java                          |   22 +
 src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java    |   41 +-
 src/main/resources/mapper/production/SalesLedgerSchedulingMapper.xml                  |   26 -
 src/main/java/com/ruoyi/production/dto/SalesLedgerWorkDto.java                        |   24 +
 src/main/java/com/ruoyi/production/pojo/ProductionOrder.java                          |  139 ++++++++++
 src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java       |  148 +++++++++++
 src/main/java/com/ruoyi/production/service/ProductionOrderService.java                |   20 +
 src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java                  |    2 
 src/main/java/com/ruoyi/production/dto/SalesLedgerProductDto.java                     |   48 +-
 19 files changed, 573 insertions(+), 198 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java b/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
new file mode 100644
index 0000000..8063a08
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
@@ -0,0 +1,90 @@
+package com.ruoyi.production.controller;
+
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.OrderUtils;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.production.mapper.ProductionOrderMapper;
+import com.ruoyi.production.pojo.ProductionOrder;
+import com.ruoyi.production.service.ProductionOrderService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/11/26 14:21
+ */
+@RestController
+@Api(tags = "鐢熶骇璁㈠崟")
+@RequestMapping("/productionOrder")
+public class ProductionOrderController extends BaseController {
+
+    @Autowired
+    private ProductionOrderService productionOrderService;
+
+    @Autowired
+    private ProductionOrderMapper productionOrderMapper;
+
+    @GetMapping("/listPage")
+    @Log(title = "鐢熶骇璁㈠崟-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
+    @ApiOperation("鐢熶骇璁㈠崟-鍒嗛〉鏌ヨ")
+    public AjaxResult listPage(Page page, ProductionOrder productionOrder) {
+        return AjaxResult.success(productionOrderService.listPage(page, productionOrder));
+    }
+
+    @PostMapping("/addProductionOrder")
+    @Log(title = "鐢熶骇璁㈠崟-鏂板", businessType = BusinessType.INSERT)
+    @ApiOperation("鐢熶骇璁㈠崟-鏂板")
+    public AjaxResult addProductionOrder(@RequestBody ProductionOrder productionOrder) {
+        String scdd = OrderUtils.countTodayByCreateTime(productionOrderMapper, "SCDD");
+        productionOrder.setOrderNo(scdd);
+        return AjaxResult.success(productionOrderService.save(productionOrder));
+    }
+
+    @PostMapping("/updateProductionOrder")
+    @Log(title = "鐢熶骇璁㈠崟-淇敼", businessType = BusinessType.UPDATE)
+    @ApiOperation("鐢熶骇璁㈠崟-淇敼")
+    public AjaxResult updateProductionOrder(@RequestBody ProductionOrder productionOrder) {
+        return AjaxResult.success(productionOrderService.updateById(productionOrder));
+    }
+
+    @DeleteMapping("/deleteProductionOrder")
+    @Log(title = "鐢熶骇璁㈠崟-鍒犻櫎", businessType = BusinessType.DELETE)
+    @ApiOperation("鐢熶骇璁㈠崟-鍒犻櫎")
+    public AjaxResult deleteProductionOrder(@RequestBody List<Long> ids) {
+        if (CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+        return AjaxResult.success(productionOrderService.removeBatchByIds(ids));
+    }
+
+
+    /**
+     * 瀵煎嚭
+     * @param response
+     */
+    @PostMapping("/export")
+    @ApiOperation("鐢熶骇绠$悊-鐢熶骇璁㈠崟-瀵煎嚭")
+    @Log(title = "鐢熶骇璁㈠崟-瀵煎嚭", businessType = BusinessType.EXPORT)
+    public void export(HttpServletResponse response) {
+        productionOrderService.export(response);
+    }
+
+    /**
+     * 瀵煎嚭
+     * @param response
+     */
+    @PostMapping("/exportOne")
+    @ApiOperation("鐢熶骇绠$悊-鐢熶骇娲惧伐-瀵煎嚭")
+    @Log(title = "鐢熶骇璁㈠崟-瀵煎嚭", businessType = BusinessType.EXPORT)
+    public void exportOne(HttpServletResponse response) {
+        productionOrderService.exportOne(response);
+    }
+
+}
diff --git a/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java b/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java
index 5ca3bc2..4bfb86a 100644
--- a/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java
+++ b/src/main/java/com/ruoyi/production/controller/SalesLedgerSchedulingController.java
@@ -35,34 +35,25 @@
     private SalesLedgerSchedulingServiceImpl salesLedgerSchedulingService;
 
 
-    @GetMapping("/listPage")
-    @Log(title = "鐢熶骇绠$悊-鐢熶骇璁㈠崟-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
-    @ApiOperation("鐢熶骇绠$悊-鐢熶骇璁㈠崟-鍒嗛〉鏌ヨ")
-    public AjaxResult listPage(Page page, SalesLedgerSchedulingDto salesLedgerSchedulingDto) {
-        IPage<SalesLedgerSchedulingDto> result = salesLedgerSchedulingService.listPage(page,salesLedgerSchedulingDto);
-        return AjaxResult.success(result);
-    }
+//    @GetMapping("/listPage")
+//    @Log(title = "鐢熶骇绠$悊-鐢熶骇璁㈠崟-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
+//    @ApiOperation("鐢熶骇绠$悊-鐢熶骇璁㈠崟-鍒嗛〉鏌ヨ")
+//    public AjaxResult listPage(Page page, SalesLedgerSchedulingDto salesLedgerSchedulingDto) {
+//        IPage<SalesLedgerSchedulingDto> result = salesLedgerSchedulingService.listPage(page,salesLedgerSchedulingDto);
+//        return AjaxResult.success(result);
+//    }
 
-    /**
-     * 瀵煎嚭
-     * @param response
-     */
-    @PostMapping("/export")
-    @ApiOperation("鐢熶骇绠$悊-鐢熶骇璁㈠崟-瀵煎嚭")
-    public void export(HttpServletResponse response) {
-        salesLedgerSchedulingService.export(response);
-    }
+//    /**
+//     * 瀵煎嚭
+//     * @param response
+//     */
+//    @PostMapping("/export")
+//    @ApiOperation("鐢熶骇绠$悊-鐢熶骇璁㈠崟-瀵煎嚭")
+//    public void export(HttpServletResponse response) {
+//        salesLedgerSchedulingService.export(response);
+//    }
 
 
-    /**
-     * 瀵煎嚭
-     * @param response
-     */
-    @PostMapping("/exportOne")
-    @ApiOperation("鐢熶骇绠$悊-鐢熶骇娲惧伐-瀵煎嚭")
-    public void exportOne(HttpServletResponse response) {
-        salesLedgerSchedulingService.exportOne(response);
-    }
 
     @PostMapping("/productionDispatch")
     @Log(title = "鐢熶骇绠$悊-鐢熶骇璁㈠崟-鐢熶骇娲惧伐", businessType = BusinessType.INSERT)
diff --git a/src/main/java/com/ruoyi/production/dto/DaiDto.java b/src/main/java/com/ruoyi/production/dto/DaiDto.java
index 86853cb..0760cdf 100644
--- a/src/main/java/com/ruoyi/production/dto/DaiDto.java
+++ b/src/main/java/com/ruoyi/production/dto/DaiDto.java
@@ -1,5 +1,6 @@
 package com.ruoyi.production.dto;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
 import io.swagger.annotations.ApiModelProperty;
@@ -7,6 +8,7 @@
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.util.Date;
 
 /**
@@ -19,92 +21,59 @@
     @Excel(name = "寰呮帓鏁伴噺")
     private BigDecimal daiNum;
 
-    @ApiModelProperty(value = "閿�鍞骇鍝両D")
-    private Long salesLedgerProductId;
-
-    @ApiModelProperty(value = "閿�鍞彴璐D")
-    private Long salesLedgerId;
-
     /**
-     * 閿�鍞悎鍚屽彿
+     * 鐢熶骇璁㈠崟鍙�
      */
-    @Excel(name = "閿�鍞悎鍚屽彿")
-    @ApiModelProperty(value = "閿�鍞悎鍚屽彿")
-    private String salesContractNo;
-
-    /**
-     * 瀹㈡埛鍚堝悓鍙�
-     */
-    @Excel(name = "瀹㈡埛鍚堝悓鍙�")
-    @ApiModelProperty(value = "瀹㈡埛鍚堝悓鍙�")
-    private String customerContractNo;
-
-    /**
-     * 椤圭洰鍚嶇О
-     */
-    @Excel(name = "椤圭洰鍚嶇О")
-    @ApiModelProperty(value = "椤圭洰鍚嶇О")
-    private String projectName;
-
-    /**
-     * 褰曞叆鏃ユ湡
-     */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "褰曞叆鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @ApiModelProperty(value = "褰曞叆鏃ユ湡")
-    private Date entryDate;
-
-    @ApiModelProperty(value = "褰曞叆鏃ユ湡寮�濮�")
-    private String entryDateStart;
-
-    @ApiModelProperty(value = "褰曞叆鏃ユ湡缁撴潫")
-    private String entryDateEnd;
-
-    /**
-     * 瀹㈡埛鍚嶇О
-     */
-    @Excel(name = "瀹㈡埛鍚嶇О")
-    @ApiModelProperty(value = "瀹㈡埛鍚嶇О")
-    private String customerName;
-
+    @Excel(name = "鐢熶骇璁㈠崟鍙�")
+    private String orderNo;
 
     /**
      * 浜у搧澶х被
      */
     @Excel(name = "浜у搧澶х被")
-    @ApiModelProperty(value = "浜у搧澶х被")
     private String productCategory;
 
     /**
      * 瑙勬牸鍨嬪彿
      */
     @Excel(name = "瑙勬牸鍨嬪彿")
-    @ApiModelProperty(value = "瑙勬牸鍨嬪彿")
     private String specificationModel;
 
     /**
      * 鍗曚綅
      */
     @Excel(name = "鍗曚綅")
-    @ApiModelProperty(value = "鍗曚綅")
     private String unit;
+
 
     /**
      * 鏁伴噺
      */
     @Excel(name = "鏁伴噺")
-    @ApiModelProperty(value = "鏁伴噺")
     private BigDecimal quantity;
 
     /**
-     * 鎺掍骇鏁伴噺
+     * 璁㈠崟鐘舵��
      */
-    @Excel(name = "鎺掍骇鏁伴噺")
-    @ApiModelProperty(value = "鎺掍骇鏁伴噺")
-    private BigDecimal schedulingNum;
+    @Excel(name = "璁㈠崟鐘舵��")
+    @TableField(exist = false)
+    private String status;
 
-    @ApiModelProperty(value = "绉熸埛ID")
-    private Long tenantId;
+    @ApiModelProperty(value = "瀹屽伐鏁伴噺")
+    @TableField(exist = false)
+    private BigDecimal successNum;
+
+    /**
+     * 褰曞叆鏃ユ湡
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @Excel(name = "褰曞叆鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    private LocalDate registerDate;
+
+    /**
+     * 褰曞叆浜�
+     */
+    @Excel(name = "褰曞叆浜�")
+    private String createBy;
 
 }
diff --git a/src/main/java/com/ruoyi/production/dto/ProcessSchedulingDto.java b/src/main/java/com/ruoyi/production/dto/ProcessSchedulingDto.java
index 6cf971e..8471175 100644
--- a/src/main/java/com/ruoyi/production/dto/ProcessSchedulingDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProcessSchedulingDto.java
@@ -15,6 +15,26 @@
 @ApiModel
 public class ProcessSchedulingDto {
 
+    /**
+     * 鍙e懗鍒嗙被
+     */
+    private String type;
+
+    /**
+     * 澶囨敞
+     */
+    private String remark;
+
+    /**
+     * 鎹熻��
+     */
+    private String loss;
+
+    /**
+     * 棰嗙敤
+     */
+    private String receive;
+
     private Long id;
 
     /**
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java b/src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java
index e78d868..7729e8e 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductionDispatchAddDto.java
@@ -17,7 +17,7 @@
     @ApiModelProperty(value = "閿�鍞彴璐D")
     private Long salesLedgerId;
 
-    @ApiModelProperty(value = "閿�鍞骇鍝両D")
+    @ApiModelProperty(value = "鐢熶骇璁㈠崟ID")
     private Long salesLedgerProductId;
 
     /**
diff --git a/src/main/java/com/ruoyi/production/dto/SalesLedgerProductDto.java b/src/main/java/com/ruoyi/production/dto/SalesLedgerProductDto.java
index 33e758d..d21156a 100644
--- a/src/main/java/com/ruoyi/production/dto/SalesLedgerProductDto.java
+++ b/src/main/java/com/ruoyi/production/dto/SalesLedgerProductDto.java
@@ -17,34 +17,34 @@
 @ApiModel
 public class SalesLedgerProductDto {
 
-    /**
-     * 閿�鍞悎鍚屽彿
-     */
-    @Excel(name = "閿�鍞悎鍚屽彿")
-    @ApiModelProperty(value = "閿�鍞悎鍚屽彿")
-    private String salesContractNo;
-
-    /**
-     * 瀹㈡埛鍚堝悓鍙�
-     */
-    @Excel(name = "瀹㈡埛鍚堝悓鍙�")
-    @ApiModelProperty(value = "瀹㈡埛鍚堝悓鍙�")
-    private String customerContractNo;
-
-    /**
-     * 椤圭洰鍚嶇О
-     */
-    @Excel(name = "椤圭洰鍚嶇О")
-    @ApiModelProperty(value = "椤圭洰鍚嶇О")
-    private String projectName;
+//    /**
+//     * 閿�鍞悎鍚屽彿
+//     */
+//    @Excel(name = "閿�鍞悎鍚屽彿")
+//    @ApiModelProperty(value = "閿�鍞悎鍚屽彿")
+//    private String salesContractNo;
+//
+//    /**
+//     * 瀹㈡埛鍚堝悓鍙�
+//     */
+//    @Excel(name = "瀹㈡埛鍚堝悓鍙�")
+//    @ApiModelProperty(value = "瀹㈡埛鍚堝悓鍙�")
+//    private String customerContractNo;
+//
+//    /**
+//     * 椤圭洰鍚嶇О
+//     */
+//    @Excel(name = "椤圭洰鍚嶇О")
+//    @ApiModelProperty(value = "椤圭洰鍚嶇О")
+//    private String projectName;
 
 
     /**
-     * 瀹㈡埛鍚嶇О
+     * 鐢熶骇璁㈠崟鍙�
      */
-    @Excel(name = "瀹㈡埛鍚嶇О")
-    @ApiModelProperty(value = "瀹㈡埛鍚嶇О")
-    private String customerName;
+    @Excel(name = "鐢熶骇璁㈠崟鍙�")
+    @ApiModelProperty(value = "鐢熶骇璁㈠崟鍙�")
+    private String orderNo;
 
 
     /**
diff --git a/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingProcessDto.java b/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingProcessDto.java
index 8952455..1f521d4 100644
--- a/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingProcessDto.java
+++ b/src/main/java/com/ruoyi/production/dto/SalesLedgerSchedulingProcessDto.java
@@ -20,11 +20,8 @@
 @ApiModel
 public class SalesLedgerSchedulingProcessDto {
 
-    @ApiModelProperty(value = "閿�鍞骇鍝両D")
+    @ApiModelProperty(value = "鐢熶骇璁㈠崟ID")
     private Long salesLedgerProductId;
-
-    @ApiModelProperty(value = "閿�鍞彴璐D")
-    private Long salesLedgerId;
 
     @ApiModelProperty(value = "寮�濮嬫椂闂�")
     private String entryDateStart;
@@ -38,38 +35,17 @@
     private Long id;
 
     /**
-     * 閿�鍞悎鍚屽彿
+     * 鐢熶骇璁㈠崟鍙�
      */
-    @Excel(name = "閿�鍞悎鍚屽彿")
-    @ApiModelProperty(value = "閿�鍞悎鍚屽彿")
-    private String salesContractNo;
-
-    /**
-     * 瀹㈡埛鍚堝悓鍙�
-     */
-    @Excel(name = "瀹㈡埛鍚堝悓鍙�")
-    @ApiModelProperty(value = "瀹㈡埛鍚堝悓鍙�")
-    private String customerContractNo;
-
-    /**
-     * 椤圭洰鍚嶇О
-     */
-    @Excel(name = "椤圭洰鍚嶇О")
-    @ApiModelProperty(value = "椤圭洰鍚嶇О")
-    private String projectName;
+    @Excel(name = "鐢熶骇璁㈠崟鍙�")
+    @ApiModelProperty(value = "鐢熶骇璁㈠崟鍙�")
+    private String orderNo;
 
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = "娲惧伐鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     @ApiModelProperty(value = "娲惧伐鏃ユ湡")
     private Date schedulingDate;
-
-    /**
-     * 瀹㈡埛鍚嶇О
-     */
-    @Excel(name = "瀹㈡埛鍚嶇О")
-    @ApiModelProperty(value = "瀹㈡埛鍚嶇О")
-    private String customerName;
 
 
     /**
diff --git a/src/main/java/com/ruoyi/production/dto/SalesLedgerWorkDto.java b/src/main/java/com/ruoyi/production/dto/SalesLedgerWorkDto.java
index 055f2a8..cc08085 100644
--- a/src/main/java/com/ruoyi/production/dto/SalesLedgerWorkDto.java
+++ b/src/main/java/com/ruoyi/production/dto/SalesLedgerWorkDto.java
@@ -86,5 +86,29 @@
     @Excel(name = "鐘舵��", readConverterExp = "1=寰呯敓浜�,2=鐢熶骇涓�,3=宸叉姤宸�")
     private String statusName;
 
+    /**
+     * 鍙e懗鍒嗙被
+     */
+    @ApiModelProperty(value = "鍙e懗鍒嗙被")
+    private String type;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+
+    /**
+     * 鎹熻��
+     */
+    @ApiModelProperty(value = "鎹熻��")
+    private String loss;
+
+    /**
+     * 棰嗙敤
+     */
+    @ApiModelProperty(value = "棰嗙敤")
+    private String receive;
+
 
 }
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductionOrderMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductionOrderMapper.java
new file mode 100644
index 0000000..e65f550
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/mapper/ProductionOrderMapper.java
@@ -0,0 +1,11 @@
+package com.ruoyi.production.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.production.pojo.ProductionOrder;
+
+/**
+ * @author :yys
+ * @date : 2025/11/26 14:18
+ */
+public interface ProductionOrderMapper extends BaseMapper<ProductionOrder> {
+}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductionOrder.java b/src/main/java/com/ruoyi/production/pojo/ProductionOrder.java
new file mode 100644
index 0000000..a58754b
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/pojo/ProductionOrder.java
@@ -0,0 +1,139 @@
+package com.ruoyi.production.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * @author :yys
+ * @date : 2025/11/26 14:15
+ */
+@Data
+@TableName("production_order")
+public class ProductionOrder {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty(value = "褰曞叆鏃ユ湡寮�濮�")
+    @TableField(exist = false)
+    private String entryDateStart;
+
+    @ApiModelProperty(value = "褰曞叆鏃ユ湡缁撴潫")
+    @TableField(exist = false)
+    private String entryDateEnd;
+
+    /**
+     * 鐢熶骇璁㈠崟鍙�
+     */
+    @Excel(name = "鐢熶骇璁㈠崟鍙�")
+    @ApiModelProperty(value = "鐢熶骇璁㈠崟鍙�")
+    private String orderNo;
+
+    /**
+     * 浜у搧澶х被
+     */
+    @Excel(name = "浜у搧澶х被")
+    @ApiModelProperty(value = "浜у搧澶х被")
+    private String productCategory;
+
+    /**
+     * 瑙勬牸鍨嬪彿
+     */
+    @Excel(name = "瑙勬牸鍨嬪彿")
+    @ApiModelProperty(value = "瑙勬牸鍨嬪彿")
+    private String specificationModel;
+
+    /**
+     * 鍗曚綅
+     */
+    @Excel(name = "鍗曚綅")
+    @ApiModelProperty(value = "鍗曚綅")
+    private String unit;
+
+
+    /**
+     * 鏁伴噺
+     */
+    @Excel(name = "鏁伴噺")
+    @ApiModelProperty(value = "鏁伴噺")
+    private BigDecimal quantity;
+
+    /**
+     * 璁㈠崟鐘舵��
+     */
+    @Excel(name = "璁㈠崟鐘舵��")
+    @TableField(exist = false)
+    private String status = "鏈畬鎴�";
+
+    /**
+     * 鎺掍骇鏁伴噺
+     */
+    @Excel(name = "鎺掍骇鏁伴噺")
+    @ApiModelProperty(value = "鎺掍骇鏁伴噺")
+    @TableField(exist = false)
+    private BigDecimal schedulingNum;
+
+
+    /**
+     * 瀹屽伐鏁伴噺
+     */
+    @Excel(name = "瀹屽伐鏁伴噺")
+    @ApiModelProperty(value = "瀹屽伐鏁伴噺")
+    @TableField(exist = false)
+    private BigDecimal successNum = BigDecimal.ZERO;
+
+    /**
+     * 褰曞叆鏃ユ湡
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    @Excel(name = "褰曞叆鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "褰曞叆鏃ユ湡")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private LocalDate registerDate;
+
+    /**
+     * 褰曞叆浜�
+     */
+    @Excel(name = "褰曞叆浜�")
+    @ApiModelProperty(value = "褰曞叆浜�")
+    private String createBy;
+
+    /**
+     * 鍒涘缓鑰�
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    /**
+     * 淇敼鑰�
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    /**
+     * 绉熸埛ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+
+}
diff --git a/src/main/java/com/ruoyi/production/pojo/SalesLedgerScheduling.java b/src/main/java/com/ruoyi/production/pojo/SalesLedgerScheduling.java
index 937ff7f..e3e6dde 100644
--- a/src/main/java/com/ruoyi/production/pojo/SalesLedgerScheduling.java
+++ b/src/main/java/com/ruoyi/production/pojo/SalesLedgerScheduling.java
@@ -28,7 +28,7 @@
     private Long salesLedgerId;
 
     /**
-     * 閿�鍞骇鍝乮d
+     * 鐢熶骇璁㈠崟id
      */
     private Long salesLedgerProductId;
 
diff --git a/src/main/java/com/ruoyi/production/pojo/SalesLedgerWork.java b/src/main/java/com/ruoyi/production/pojo/SalesLedgerWork.java
index b722105..a64e579 100644
--- a/src/main/java/com/ruoyi/production/pojo/SalesLedgerWork.java
+++ b/src/main/java/com/ruoyi/production/pojo/SalesLedgerWork.java
@@ -33,7 +33,7 @@
     private Long salesLedgerId;
 
     /**
-     * 閿�鍞骇鍝乮d
+     * 鐢熶骇璁㈠崟id
      */
     private Long salesLedgerProductId;
 
@@ -67,6 +67,26 @@
      * 宸ュ簭
      */
     private String process;
+
+    /**
+     * 鍙e懗鍒嗙被
+     */
+    private String type;
+
+    /**
+     * 澶囨敞
+     */
+    private String remark;
+
+    /**
+     * 鎹熻��
+     */
+    private String loss;
+
+    /**
+     * 棰嗙敤
+     */
+    private String receive;
     /**
      * 鎺掍骇鏃ユ湡
      */
diff --git a/src/main/java/com/ruoyi/production/service/ProductionOrderService.java b/src/main/java/com/ruoyi/production/service/ProductionOrderService.java
new file mode 100644
index 0000000..b2ab5e8
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/service/ProductionOrderService.java
@@ -0,0 +1,20 @@
+package com.ruoyi.production.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.production.pojo.ProductionOrder;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @author :yys
+ * @date : 2025/11/26 14:19
+ */
+public interface ProductionOrderService extends IService<ProductionOrder> {
+    AjaxResult listPage(Page page, ProductionOrder productionOrder);
+
+    void export(HttpServletResponse response);
+
+    void exportOne(HttpServletResponse response);
+}
diff --git a/src/main/java/com/ruoyi/production/service/SalesLedgerSchedulingService.java b/src/main/java/com/ruoyi/production/service/SalesLedgerSchedulingService.java
index 2387e87..484bd23 100644
--- a/src/main/java/com/ruoyi/production/service/SalesLedgerSchedulingService.java
+++ b/src/main/java/com/ruoyi/production/service/SalesLedgerSchedulingService.java
@@ -29,6 +29,4 @@
     int productionDispatchDelete(List<Long> ids);
 
     int processScheduling(List<ProcessSchedulingDto> processSchedulingDto);
-
-    void exportOne(HttpServletResponse response);
 }
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java
new file mode 100644
index 0000000..54869b8
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderServiceImpl.java
@@ -0,0 +1,148 @@
+package com.ruoyi.production.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.production.dto.DaiDto;
+import com.ruoyi.production.dto.SalesLedgerSchedulingDto;
+import com.ruoyi.production.mapper.ProductionOrderMapper;
+import com.ruoyi.production.mapper.SalesLedgerSchedulingMapper;
+import com.ruoyi.production.mapper.SalesLedgerWorkMapper;
+import com.ruoyi.production.pojo.ProductionOrder;
+import com.ruoyi.production.pojo.SalesLedgerScheduling;
+import com.ruoyi.production.pojo.SalesLedgerWork;
+import com.ruoyi.production.service.ProductionOrderService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+/**
+ * @author :yys
+ * @date : 2025/11/26 14:20
+ */
+@Service
+@Slf4j
+public class ProductionOrderServiceImpl extends ServiceImpl<ProductionOrderMapper, ProductionOrder> implements ProductionOrderService {
+
+    @Autowired
+    private ProductionOrderMapper productionOrderMapper;
+
+    @Autowired
+    private SalesLedgerWorkMapper salesLedgerWorkMapper;
+
+    @Autowired
+    private SalesLedgerSchedulingMapper salesLedgerSchedulingMapper;
+
+    @Override
+    public AjaxResult listPage(Page page, ProductionOrder productionOrder) {
+        LambdaQueryWrapper<ProductionOrder> productionOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        if(productionOrder != null){
+            if(StringUtils.isNotEmpty(productionOrder.getOrderNo())){
+                productionOrderLambdaQueryWrapper.like(ProductionOrder::getOrderNo, productionOrder.getOrderNo());
+            }
+            if(StringUtils.isNotEmpty(productionOrder.getProductCategory())){
+                productionOrderLambdaQueryWrapper.like(ProductionOrder::getProductCategory, productionOrder.getProductCategory());
+            }
+            if(StringUtils.isNotEmpty(productionOrder.getEntryDateStart()) && StringUtils.isNotEmpty(productionOrder.getEntryDateEnd())){
+                productionOrderLambdaQueryWrapper.ge(ProductionOrder::getRegisterDate, productionOrder.getEntryDateStart())
+                        .le(ProductionOrder::getRegisterDate, productionOrder.getEntryDateEnd());
+            }
+
+        }
+        IPage<ProductionOrder> list = productionOrderMapper.selectPage(page,productionOrderLambdaQueryWrapper);
+        if(CollectionUtils.isEmpty(list.getRecords())){
+            return AjaxResult.success(list);
+        }
+        Set<Long> collect = list.getRecords().stream().map(ProductionOrder::getId).collect(Collectors.toSet());
+        // 鑾峰彇鎺掍骇鏁伴噺
+        LambdaQueryWrapper<SalesLedgerScheduling> salesLedgerSchedulingLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        salesLedgerSchedulingLambdaQueryWrapper.in(SalesLedgerScheduling::getSalesLedgerProductId, collect);
+        List<SalesLedgerScheduling> salesLedgerSchedulings = salesLedgerSchedulingMapper.selectList(salesLedgerSchedulingLambdaQueryWrapper);
+        // 璁$畻瀹屽伐鏁伴噺
+        LambdaQueryWrapper<SalesLedgerWork> salesLedgerWorkLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        salesLedgerWorkLambdaQueryWrapper.in(SalesLedgerWork::getSalesLedgerProductId, collect)
+                .ne(SalesLedgerWork::getStatus, 1);
+        List<SalesLedgerWork> salesLedgerWorks = salesLedgerWorkMapper.selectList(salesLedgerWorkLambdaQueryWrapper);
+        list.getRecords().forEach(i -> {
+            // 鑾峰彇鎺掍骇鏁伴噺
+            i.setSchedulingNum(salesLedgerSchedulings
+                    .stream()
+                    .filter(j -> j.getSalesLedgerProductId().equals(i.getId()))
+                    .map(SalesLedgerScheduling::getSchedulingNum)
+                    .reduce(BigDecimal.ZERO, BigDecimal::add));
+            // 鑾峰彇瀹屾垚鏁伴噺
+            i.setSuccessNum(salesLedgerWorks
+                    .stream()
+                    .filter(j -> j.getSalesLedgerProductId().equals(i.getId()))
+                    .map(SalesLedgerWork::getFinishedNum)
+                    .reduce(BigDecimal.ZERO, BigDecimal::add));
+            // 鐘舵�� = 鏁伴噺鍜屽畬宸ユ暟閲忔瘮杈�
+            if(i.getSchedulingNum().compareTo(i.getSuccessNum()) == 0){
+                i.setStatus("宸插畬鎴�");
+            }else{
+                i.setStatus("鏈畬鎴�");
+            }
+        });
+        return AjaxResult.success(list);
+    }
+
+    @Override
+    public void export(HttpServletResponse response) {
+        List<ProductionOrder> list = this.list();
+        if(CollectionUtils.isEmpty(list)){
+            throw new RuntimeException("鏃犲鍑烘暟鎹�");
+        }
+        Set<Long> collect = list.stream().map(ProductionOrder::getId).collect(Collectors.toSet());
+        LambdaQueryWrapper<SalesLedgerWork> salesLedgerWorkLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        salesLedgerWorkLambdaQueryWrapper.in(SalesLedgerWork::getSalesLedgerProductId, collect)
+                .ne(SalesLedgerWork::getStatus, 1);
+        List<SalesLedgerWork> salesLedgerWorks = salesLedgerWorkMapper.selectList(salesLedgerWorkLambdaQueryWrapper);
+        list.forEach(i -> {
+            // 鑾峰彇瀹屾垚鏁伴噺
+            i.setSuccessNum(salesLedgerWorks
+                    .stream()
+                    .filter(j -> j.getSalesLedgerProductId().equals(i.getId()))
+                    .map(SalesLedgerWork::getFinishedNum)
+                    .reduce(BigDecimal.ZERO, BigDecimal::add));
+            // 鐘舵�� = 鏁伴噺鍜屽畬宸ユ暟閲忔瘮杈�
+            if(i.getQuantity().compareTo(i.getSuccessNum()) == 0){
+                i.setStatus("宸插畬鎴�");
+            }else{
+                i.setStatus("鏈畬鎴�");
+            }
+        });
+        ExcelUtil<ProductionOrder> util = new ExcelUtil<>(ProductionOrder.class);
+        util.exportExcel(response, list, "鐢熶骇璁㈠崟");
+    }
+
+    @Override
+    public void exportOne(HttpServletResponse response) {
+        List<ProductionOrder> list = this.list();
+        if(CollectionUtils.isEmpty(list)){
+            throw new RuntimeException("鏃犲鍑烘暟鎹�");
+        }
+        List<DaiDto> dais = new ArrayList<>();
+        list.forEach(i -> {
+            DaiDto daiDto = new DaiDto();
+            BeanUtils.copyProperties(i, daiDto);
+            // 鑾峰彇寰呮帓浜ф暟閲�
+            daiDto.setDaiNum(daiDto.getQuantity().subtract(i.getSuccessNum()));
+            dais.add(daiDto);
+        });
+        ExcelUtil<DaiDto> util = new ExcelUtil<>(DaiDto.class);
+        util.exportExcel(response, dais, "鐢熶骇娲惧伐");
+    }
+}
diff --git a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
index 4f60b7e..174e96c 100644
--- a/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/SalesLedgerSchedulingServiceImpl.java
@@ -152,10 +152,6 @@
             SysUser sysUser = sysUserMapper.selectUserById(processSchedulingDto.getSchedulingUserId());
             if(sysUser == null) throw new RuntimeException("鎺掍骇浜轰笉瀛樺湪");
             salesLedgerScheduling.setFinishedNum(salesLedgerScheduling.getFinishedNum().add(processSchedulingDto.getSchedulingNum()));
-            LambdaQueryWrapper<SalesLedgerWork> salesLedgerWorkLambdaQueryWrapper = new LambdaQueryWrapper<>();
-            salesLedgerWorkLambdaQueryWrapper.eq(SalesLedgerWork::getSalesLedgerSchedulingId, salesLedgerScheduling.getId())
-                    .ne(SalesLedgerWork::getStatus, 1);
-            List<SalesLedgerWork> salesLedgerWorks = salesLedgerWorkMapper.selectList(salesLedgerWorkLambdaQueryWrapper);
             if(salesLedgerScheduling.getSchedulingNum().compareTo(salesLedgerScheduling.getFinishedNum()) < 0){
                 throw new RuntimeException("褰撳墠鎺掍骇鏁伴噺澶т簬寰呮帓浜ф暟閲忥紝璇蜂粩缁嗘牳瀵癸紒");
             }
@@ -171,6 +167,10 @@
                     .salesLedgerProductId(salesLedgerScheduling.getSalesLedgerProductId())
                     .schedulingUserId(salesLedgerScheduling.getSchedulingUserId())
                     .schedulingUserName(sysUser.getNickName())
+                    .type(processSchedulingDto.getType())
+                    .remark(processSchedulingDto.getRemark())
+                    .loss(processSchedulingDto.getLoss())
+                    .receive(processSchedulingDto.getReceive())
                     .schedulingNum(processSchedulingDto.getSchedulingNum())
                     .workHours(processSchedulingDto.getWorkHours())
                     .process(processSchedulingDto.getProcess())
@@ -181,21 +181,4 @@
         return 0;
     }
 
-    @Override
-    public void exportOne(HttpServletResponse response) {
-        List<SalesLedgerSchedulingDto> list = salesLedgerSchedulingMapper.list();
-        if(CollectionUtils.isEmpty(list)){
-            throw new RuntimeException("鏃犲鍑烘暟鎹�");
-        }
-        List<DaiDto> dais = new ArrayList<>();
-        list.forEach(i -> {
-            DaiDto daiDto = new DaiDto();
-            BeanUtils.copyProperties(i, daiDto);
-            // 鑾峰彇寰呮帓浜ф暟閲�
-            daiDto.setDaiNum(daiDto.getQuantity().subtract(i.getSchedulingNum()));
-            dais.add(daiDto);
-        });
-        ExcelUtil<DaiDto> util = new ExcelUtil<>(DaiDto.class);
-        util.exportExcel(response, dais, "鐢熶骇娲惧伐");
-    }
 }
diff --git a/src/main/resources/mapper/production/ProductionOrderMapper.xml b/src/main/resources/mapper/production/ProductionOrderMapper.xml
new file mode 100644
index 0000000..4410077
--- /dev/null
+++ b/src/main/resources/mapper/production/ProductionOrderMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.production.mapper.ProductionOrderMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/production/SalesLedgerSchedulingMapper.xml b/src/main/resources/mapper/production/SalesLedgerSchedulingMapper.xml
index e7e882c..a2aaa11 100644
--- a/src/main/resources/mapper/production/SalesLedgerSchedulingMapper.xml
+++ b/src/main/resources/mapper/production/SalesLedgerSchedulingMapper.xml
@@ -66,7 +66,6 @@
     <select id="listPageProcess" resultType="com.ruoyi.production.dto.SalesLedgerSchedulingProcessDto">
         SELECT
         t3.id as salesLedgerProductId,
-        T1.id as salesLedgerId,
         T2.id,
         T2.status,
         T2.scheduling_user_id,
@@ -74,33 +73,22 @@
         T2.scheduling_date,
         ifNull(T2.scheduling_num,0) AS schedulingNum,
         ifNull(T2.finished_num,0) AS successNum,
-        T1.sales_contract_no,
-        T1.customer_contract_no,
-        T1.project_name,
-        T1.customer_name,
         t3.product_category,
         t3.specification_model,
-        t3.unit
+        t3.unit,
+        t3.order_no
         FROM
         sales_ledger_scheduling T2
-        LEFT JOIN sales_ledger T1 ON T1.id = T2.sales_ledger_id
-        left join sales_ledger_product t3 on T2.sales_ledger_product_id = t3.id
+        LEFT JOIN production_order t3 on t3.id = T2.sales_ledger_product_id
         <where>
-            t3.type = 1
             <if test="salesLedgerDto.status != null and salesLedgerDto.status != '' ">
                 AND  T2.status = #{salesLedgerDto.status}
             </if>
-            <if test="salesLedgerDto.customerName != null and salesLedgerDto.customerName != '' ">
-                AND  T1.customer_name LIKE CONCAT('%',#{salesLedgerDto.customerName},'%')
+            <if test="salesLedgerDto.orderNo != null and salesLedgerDto.orderNo != '' ">
+                AND  T1.order_no LIKE CONCAT('%',#{salesLedgerDto.orderNo},'%')
             </if>
-            <if test="salesLedgerDto.customerContractNo != null and salesLedgerDto.customerContractNo !='' ">
-                AND  T1.customer_contract_no LIKE CONCAT('%',#{salesLedgerDto.customerContractNo},'%')
-            </if>
-            <if test="salesLedgerDto.salesContractNo != null and salesLedgerDto.salesContractNo != '' ">
-                AND  T1.sales_contract_no LIKE CONCAT('%',#{salesLedgerDto.salesContractNo},'%')
-            </if>
-            <if test="salesLedgerDto.projectName != null and salesLedgerDto.projectName != '' ">
-                AND T1.project_name LIKE CONCAT('%',#{salesLedgerDto.projectName},'%')
+            <if test="salesLedgerDto.productCategory != null and salesLedgerDto.productCategory !='' ">
+                AND  t3.productCategory LIKE CONCAT('%',#{salesLedgerDto.productCategory},'%')
             </if>
             <if test="salesLedgerDto.entryDateStart != null and salesLedgerDto.entryDateStart != '' ">
                 AND T2.scheduling_date &gt;= DATE_FORMAT(#{salesLedgerDto.entryDateStart},'%Y-%m-%d')
diff --git a/src/main/resources/mapper/production/SalesLedgerWorkMapper.xml b/src/main/resources/mapper/production/SalesLedgerWorkMapper.xml
index 41cbe07..5c2d51e 100644
--- a/src/main/resources/mapper/production/SalesLedgerWorkMapper.xml
+++ b/src/main/resources/mapper/production/SalesLedgerWorkMapper.xml
@@ -13,33 +13,26 @@
         t4.finished_num,
         t4.work_hours,
         t4.process,
-        T1.sales_contract_no,
-        T1.customer_contract_no,
-        T1.project_name,
-        T1.customer_name,
+        t4.type,
+        t4.receive,
+        t4.loss,
+        t4.remark,
         t3.product_category,
         t3.specification_model,
-        t3.unit
+        t3.unit,
+        t3.order_no
         FROM
         sales_ledger_work t4
-        LEFT JOIN sales_ledger T1 ON T1.id = t4.sales_ledger_id
-        left join sales_ledger_product t3 on t4.sales_ledger_product_id = t3.id
+        LEFT JOIN production_order t3 on t3.id = t4.sales_ledger_product_id
         <where>
-            t3.type = 1
             <if test="salesLedgerDto.status != null and salesLedgerDto.status != '' ">
                 AND  t4.status = #{salesLedgerDto.status}
             </if>
-            <if test="salesLedgerDto.customerName != null and salesLedgerDto.customerName != '' ">
-                AND  T1.customer_name LIKE CONCAT('%',#{salesLedgerDto.customerName},'%')
+            <if test="salesLedgerDto.orderNo != null and salesLedgerDto.orderNo != '' ">
+                AND  t3.order_no LIKE CONCAT('%',#{salesLedgerDto.orderNo},'%')
             </if>
-            <if test="salesLedgerDto.customerContractNo != null and salesLedgerDto.customerContractNo !='' ">
-                AND  T1.customer_contract_no LIKE CONCAT('%',#{salesLedgerDto.customerContractNo},'%')
-            </if>
-            <if test="salesLedgerDto.salesContractNo != null and salesLedgerDto.salesContractNo != '' ">
-                AND  T1.sales_contract_no LIKE CONCAT('%',#{salesLedgerDto.salesContractNo},'%')
-            </if>
-            <if test="salesLedgerDto.projectName != null and salesLedgerDto.projectName != '' ">
-                AND T1.project_name LIKE CONCAT('%',#{salesLedgerDto.projectName},'%')
+            <if test="salesLedgerDto.productCategory != null and salesLedgerDto.productCategory !='' ">
+                AND  t3.productCategory LIKE CONCAT('%',#{salesLedgerDto.productCategory},'%')
             </if>
             <if test="salesLedgerDto.entryDateStart != null and salesLedgerDto.entryDateStart != '' ">
                 AND t4.scheduling_date &gt;= DATE_FORMAT(#{salesLedgerDto.entryDateStart},'%Y-%m-%d')

--
Gitblit v1.9.3