From 20d3e1da6517ed5e55ae3613ccbbb01f1b9eda2e Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期六, 25 四月 2026 11:53:11 +0800
Subject: [PATCH] fix(approve): 修复审批流程中的数据类型和业务逻辑问题

---
 src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java   |    8 ++++----
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java |   14 ++++++++++++++
 src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java                      |    4 ++--
 src/main/java/com/ruoyi/approve/service/IApproveProcessService.java           |    2 +-
 src/main/java/com/ruoyi/approve/pojo/ApproveLog.java                          |    2 +-
 src/main/java/com/ruoyi/approve/bean/vo/ApproveProcessVO.java                 |    4 ----
 src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java      |    2 +-
 src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java       |    7 ++++++-
 src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java  |    5 ++---
 src/main/java/com/ruoyi/basic/dto/ProductModelAnticlockwiseDto.java           |    4 ++++
 10 files changed, 35 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/ruoyi/approve/bean/vo/ApproveProcessVO.java b/src/main/java/com/ruoyi/approve/bean/vo/ApproveProcessVO.java
index c233b72..1346a66 100644
--- a/src/main/java/com/ruoyi/approve/bean/vo/ApproveProcessVO.java
+++ b/src/main/java/com/ruoyi/approve/bean/vo/ApproveProcessVO.java
@@ -3,15 +3,11 @@
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
 import io.swagger.annotations.ApiModelProperty;
-import com.ruoyi.sales.pojo.CommonFile;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
-import javax.validation.constraints.NotBlank;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
-import java.util.Date;
 import java.util.List;
 
 @Data
diff --git a/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java b/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java
index 4012529..b2c99c8 100644
--- a/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java
+++ b/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java
@@ -105,7 +105,7 @@
     @DeleteMapping("/deleteIds")
     @ApiOperation(value = "鍒犻櫎瀹℃壒")
     @Transactional(rollbackFor = Exception.class)
-    public AjaxResult deleteIds(@RequestBody List<Long> ids) {
+    public AjaxResult deleteIds(@RequestBody List<String> ids) {
         if (ids == null || ids.size() == 0) {
             return AjaxResult.warn("鍙傛暟涓嶈兘涓虹┖");
         }
diff --git a/src/main/java/com/ruoyi/approve/pojo/ApproveLog.java b/src/main/java/com/ruoyi/approve/pojo/ApproveLog.java
index 6ea4aa4..9346de9 100644
--- a/src/main/java/com/ruoyi/approve/pojo/ApproveLog.java
+++ b/src/main/java/com/ruoyi/approve/pojo/ApproveLog.java
@@ -29,7 +29,7 @@
     /**
      * 瀹℃壒id
      */
-    private Long approveId;
+    private String approveId;
 
     /**
      * 瀹℃壒鑺傜偣椤哄簭
diff --git a/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java b/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java
index a7fc46e..278cf61 100644
--- a/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java
+++ b/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java
@@ -139,13 +139,13 @@
     @ApiModelProperty(value = "瀹℃壒澶囨敞")
     private String approveRemark;
 
-    @Excel(name = "寮�濮嬫椂闂�", dateFormat = "yyyy-MM-dd",width = 30)
+    @Excel(name = "寮�濮嬫椂闂�", dateFormat = "yyyy-MM-dd HH:mm:ss",width = 30)
     @ApiModelProperty(value = "寮�濮嬫椂闂�")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime startDate;
 
-    @Excel(name = "缁撴潫鏃堕棿", dateFormat = "yyyy-MM-dd",width = 30)
+    @Excel(name = "缁撴潫鏃堕棿", dateFormat = "yyyy-MM-dd HH:mm:ss",width = 30)
     @ApiModelProperty(value = "缁撴潫鏃堕棿")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
diff --git a/src/main/java/com/ruoyi/approve/service/IApproveProcessService.java b/src/main/java/com/ruoyi/approve/service/IApproveProcessService.java
index a71cb90..abad2d3 100644
--- a/src/main/java/com/ruoyi/approve/service/IApproveProcessService.java
+++ b/src/main/java/com/ruoyi/approve/service/IApproveProcessService.java
@@ -25,7 +25,7 @@
 
     IPage<ApproveProcess> listAll(Page page, ApproveProcess approveProcess);
 
-    void delApprove(List<Long> ids);
+    void delApprove(List<String> ids);
 
     void updateByApproveId(ApproveGetAndUpdateVo approveGetAndUpdateVo) throws IOException;
 
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
index 07da344..219fa6f 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -83,7 +83,7 @@
 //        String approveID = today + formattedCount;
         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
         ApproveProcess approveProcess = new ApproveProcess();
-        String no = OrderUtils.countTodayByCreateTime(approveProcessMapper, "CGSP");
+        String no = OrderUtils.countAfterServiceTodayByCreateTime(approveProcessMapper, "CGSP");
         approveProcess.setApproveId(no);
         approveProcess.setApproveUser(sysUser.getUserId());
         approveProcess.setApproveUserName(sysUser.getNickName());
@@ -240,8 +240,8 @@
     }
 
     @Override
-    public void delApprove(List<Long> ids) {
-        for (Long approveId : ids) {
+    public void delApprove(List<String> ids) {
+        for (String approveId : ids) {
             ApproveProcess approveProcess = approveProcessMapper.selectOne(new LambdaQueryWrapper<ApproveProcess>()
                     .eq(ApproveProcess::getApproveId, approveId)
                     .eq(ApproveProcess::getApproveDelete, 0)
@@ -254,7 +254,7 @@
             // 鍒犻櫎瀵瑰簲鐨勯檮浠�
             commonFileService.deleteByBusinessId(approveProcess.getId(), FileNameType.ApproveProcess.getValue());
             //  鍒犻櫎瀹℃壒鑺傜偣
-            approveNodeService.delApproveNodeByApproveId(approveId.toString());
+            approveNodeService.delApproveNodeByApproveId(approveId);
 
             //  鍙煡鏈�鏂颁竴鏉″鎵规祦绋�
             ApproveProcess latestProcess = approveProcessMapper.selectOne(
diff --git a/src/main/java/com/ruoyi/basic/dto/ProductModelAnticlockwiseDto.java b/src/main/java/com/ruoyi/basic/dto/ProductModelAnticlockwiseDto.java
index dde6f19..bd72ad2 100644
--- a/src/main/java/com/ruoyi/basic/dto/ProductModelAnticlockwiseDto.java
+++ b/src/main/java/com/ruoyi/basic/dto/ProductModelAnticlockwiseDto.java
@@ -17,4 +17,8 @@
     private String subUnit;
 
     private String type;
+
+    private Long id;
+
+
 }
diff --git a/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
index 55bfdce..99c2c17 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
@@ -169,7 +169,12 @@
     //鍙嶅悜鏂板鎴愬搧浜у搧锛屽彧鏈夐攢鍞叧鑱旀柊澧炵殑鏃跺�欒皟鐢�
     @Override
     public Long productModelAnticlockwise(ProductModelAnticlockwiseDto productModelDto) {
-        ProductModel oldProductModel = productModelMapper.selectOldProductModel(productModelDto.getModel(), productModelDto.getProductName());
+        ProductModel oldProductModel = new ProductModel();
+        if (ObjectUtils.isNotEmpty(productModelDto.getId())) {
+             oldProductModel = productModelMapper.selectById(productModelDto.getId());
+        }else {
+             oldProductModel = productModelMapper.selectOldProductModel(productModelDto.getModel(), productModelDto.getProductName());
+        }
         //瀛樺湪灏辨洿鏂�
         if (oldProductModel != null) {
             oldProductModel.setModel(productModelDto.getModel());
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
index 8fad87c..f3237b8 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProcessRouteServiceImpl.java
@@ -179,7 +179,7 @@
             ProcessRouteItem item = new ProcessRouteItem();
             item.setRouteId(routeId);
             item.setProcessId(dto.getProcessId());
-            item.setProductModelId(dto.getProductModelId());
+            item.setProductModelId(productModelId);
             item.setProcessRouteName(dto.getProcessRouteName());
             item.setProcessRouteOpenNum(dto.getProcessRouteOpenNum());
             item.setProcessRouteNum(dto.getProcessRouteNum());
@@ -229,8 +229,7 @@
             ProductWorkOrder productWorkOrder = new ProductWorkOrder();
             productWorkOrder.setProductProcessRouteItemId(item.getId());
             productWorkOrder.setProductOrderId(productOrderId);
-            ProductOrder order = productOrderMapper.selectById(productOrderId);
-            productWorkOrder.setPlanQuantity(order.getQuantity());
+            productWorkOrder.setPlanQuantity(new BigDecimal(dto.getProcessRouteNum()));
             productWorkOrder.setDeviceId(dto.getDeviceId());
             productWorkOrder.setUserIds(dto.getUserIds());
             productWorkOrder.setUserNames(dto.getUserNames());
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
index da110dc..e597a9e 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -7,6 +7,8 @@
 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.basic.dto.ProductModelAnticlockwiseDto;
+import com.ruoyi.basic.service.IProductModelService;
 import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum;
 import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
 import com.ruoyi.framework.web.domain.R;
@@ -85,6 +87,8 @@
     private StockInventoryMapper stockInventoryMapper;
     @Autowired
     private ProductOrderServiceImpl productOrderServiceImpl;
+    @Autowired
+    private IProductModelService productModelService;
 
     @Override
     public SalesLedgerProduct selectSalesLedgerProductById(Long id) {
@@ -195,6 +199,16 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int addOrUpdateSalesLedgerProduct(SalesLedgerProduct salesLedgerProduct) {
+        //鍏堟煡璇㈠熀纭�琛ㄦ湁娌℃湁
+        ProductModelAnticlockwiseDto productModelAnticlockwiseDto = new ProductModelAnticlockwiseDto();
+        productModelAnticlockwiseDto.setProductName(salesLedgerProduct.getProductCategory());
+        productModelAnticlockwiseDto.setModel(salesLedgerProduct.getSpecificationModel());
+        productModelAnticlockwiseDto.setUnit(salesLedgerProduct.getUnit());
+        productModelAnticlockwiseDto.setSubUnit(salesLedgerProduct.getUnit());
+        productModelAnticlockwiseDto.setId(salesLedgerProduct.getId());
+        Long l = productModelService.productModelAnticlockwise(productModelAnticlockwiseDto);
+        salesLedgerProduct.setProductModelId(l);
+
         // 寰呭洖娆撅紝浠樻
         if (salesLedgerProduct.getType().equals(1)) {
             salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal()));

--
Gitblit v1.9.3