From 16338016e73791cecbbdbdd73e972b29a06c59b1 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期六, 30 五月 2026 15:24:50 +0800
Subject: [PATCH] Merge branch 'dev_New_pro' into dev_新疆马铃薯pro

---
 src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java |    1 
 src/main/java/com/ruoyi/approve/bean/vo/ApprovalInstanceVo.java               |    9 ++++
 src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java       |    4 +-
 src/main/java/com/ruoyi/framework/config/ApplicationConfig.java               |   43 +++++++++++++++++++--
 src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java |   24 ++++++++++++
 src/main/resources/application.yml                                            |    3 +
 6 files changed, 77 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/ruoyi/approve/bean/vo/ApprovalInstanceVo.java b/src/main/java/com/ruoyi/approve/bean/vo/ApprovalInstanceVo.java
index 552ed0a..41ad4e4 100644
--- a/src/main/java/com/ruoyi/approve/bean/vo/ApprovalInstanceVo.java
+++ b/src/main/java/com/ruoyi/approve/bean/vo/ApprovalInstanceVo.java
@@ -24,5 +24,14 @@
     @Schema(description = "涓氬姟鍚嶇О")
     private String businessName;
 
+    @Schema(description = "鎶ヤ环鍗曞彿")
+    private String quotationNo;
+
+    @Schema(description = "閲囪喘鍗曞彿")
+    private String purchaseContractNumber;
+
+    @Schema(description = "鍙戣揣鍗曞彿")
+    private String shippingNo;
+
     private List<StorageBlobVO> storageBlobVOList;
 }
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java
index 5c5e540..5da3984 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java
@@ -105,6 +105,30 @@
         }
         records.forEach(vo -> {
             vo.setBusinessName(TypeEnums.getLabelByValue(vo.getBusinessType()));
+
+            // 鏍规嵁涓氬姟绫诲瀷鏌ヨ瀵瑰簲鐨勫崟鍙�
+            if (vo.getBusinessType() != null && vo.getBusinessId() != null) {
+                if (TypeEnums.PURCHASE_APPROVAL.getCode().equals(vo.getBusinessType())) {
+                    // 閲囪喘瀹℃壒 - 鏌ヨ閲囪喘鍗曞彿
+                    PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(vo.getBusinessId());
+                    System.out.println("涓氬姟绫诲瀷锛�" + purchaseLedger.getPurchaseContractNumber());
+                    if (purchaseLedger != null) {
+                        vo.setPurchaseContractNumber(purchaseLedger.getPurchaseContractNumber());
+                    }
+                } else if (TypeEnums.QUOTATION_APPROVAL.getCode().equals(vo.getBusinessType())) {
+                    // 鎶ヤ环瀹℃壒 - 鏌ヨ鎶ヤ环鍗曞彿
+                    SalesQuotation salesQuotation = salesQuotationMapper.selectById(vo.getBusinessId());
+                    if (salesQuotation != null) {
+                        vo.setQuotationNo(salesQuotation.getQuotationNo());
+                    }
+                } else if (TypeEnums.SHIPPING_APPROVAL.getCode().equals(vo.getBusinessType())) {
+                    // 鍙戣揣瀹℃壒 - 鏌ヨ鍙戣揣鍗曞彿
+                    ShippingInfo shippingInfo = shippingInfoMapper.selectById(vo.getBusinessId());
+                    if (shippingInfo != null) {
+                        vo.setShippingNo(shippingInfo.getShippingNo());
+                    }
+                }
+            }
         });
         Long currentUserId = SecurityUtils.getUserId();
 
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java
index af5a774..6a48121 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java
@@ -107,6 +107,7 @@
                 new LambdaQueryWrapper<ApprovalTemplate>()
                         .eq(ApprovalTemplate::getDeleted, 0)
                         .eq(ApprovalTemplate::getEnabled, 1)
+                        .notIn(ApprovalTemplate::getBusinessType, List.of(5L, 6L, 7L))
                         .orderByDesc(ApprovalTemplate::getTemplateType)
                         .orderByDesc(ApprovalTemplate::getId)
         );
diff --git a/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java b/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java
index 66a00e7..1c9b1d1 100644
--- a/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java
+++ b/src/main/java/com/ruoyi/framework/config/ApplicationConfig.java
@@ -1,11 +1,22 @@
 package com.ruoyi.framework.config;
 
-import java.util.TimeZone;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.EnableAspectJAutoProxy;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.TimeZone;
 
 /**
  * 绋嬪簭娉ㄨВ閰嶇疆
@@ -17,14 +28,36 @@
 @EnableAspectJAutoProxy(exposeProxy = true)
 // 鎸囧畾瑕佹壂鎻忕殑Mapper绫荤殑鍖呯殑璺緞
 @MapperScan("com.ruoyi.**.mapper")
-public class ApplicationConfig
-{
+public class ApplicationConfig {
     /**
      * 鏃跺尯閰嶇疆
      */
     @Bean
-    public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization()
-    {
+    public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() {
         return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault());
     }
+
+    @Bean
+
+    public ObjectMapper objectMapper() {
+        ObjectMapper mapper = new ObjectMapper();
+        JavaTimeModule module = new JavaTimeModule();
+        // LocalDateTime锛氭敮鎸� yyyy-MM-dd HH:mm:ss
+        DateTimeFormatter dateTimeFormatter =
+                DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        module.addDeserializer(LocalDateTime.class,
+                new LocalDateTimeDeserializer(dateTimeFormatter));
+        module.addSerializer(LocalDateTime.class,
+                new LocalDateTimeSerializer(dateTimeFormatter));
+        // LocalDate锛氭敮鎸� yyyy-MM-dd
+        DateTimeFormatter dateFormatter =
+                DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        module.addDeserializer(LocalDate.class,
+                new LocalDateDeserializer(dateFormatter));
+        module.addSerializer(LocalDate.class,
+                new LocalDateSerializer(dateFormatter));
+        mapper.registerModule(module);
+        mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+        return mapper;
+    }
 }
diff --git a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
index 15b56ea..4e6ff58 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
@@ -180,8 +180,8 @@
         boolean save = this.add(req);
         // 鍙戣揣瀹℃壒
         ApprovalInstanceDto approvalInstance = new ApprovalInstanceDto();
-        approvalInstance.setTemplateId(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getId());
-        approvalInstance.setTemplateName(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,6L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getTemplateName());
+        approvalInstance.setTemplateId(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,7L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getId());
+        approvalInstance.setTemplateName(approvalTemplateMapper.selectOne(new LambdaQueryWrapper<ApprovalTemplate>().eq(ApprovalTemplate::getBusinessType,7L).orderByDesc(ApprovalTemplate::getId).last("LIMIT 1")).getTemplateName());
         approvalInstance.setBusinessId(req.getId());
         approvalInstance.setBusinessType(7L);
         approvalInstance.setCurrentLevel(1);
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 70324c6..63fe8c2 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,5 +1,8 @@
 # Spring閰嶇疆
 spring:
+  jackson:
+    date-format: yyyy-MM-dd HH:mm:ss
+    time-zone: GMT+8
   main:
     allow-circular-references: true
   profiles:

--
Gitblit v1.9.3