| src/main/java/com/ruoyi/approve/bean/vo/ApprovalInstanceVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/approve/service/impl/ApprovalInstanceServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/approve/service/impl/ApprovalTemplateServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/framework/config/ApplicationConfig.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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; } 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(); 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) ); 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; } } 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); 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: