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