Procházet zdrojové kódy

添加字段生成的字段逻辑

wenjinbiao před 9 měsíci
rodič
revize
4357d372d6

+ 26 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qyrecordinfo/entity/BusinessIdGenerator.java

@@ -1,7 +1,12 @@
 package vip.xiaonuo.biz.modular.qyrecordinfo.entity;
 
+import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
+import com.baomidou.mybatisplus.extension.ddl.history.IDdlGenerator;
+import org.springframework.util.IdGenerator;
+
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.UUID;
 
 public class BusinessIdGenerator {
 
@@ -19,6 +24,7 @@ public class BusinessIdGenerator {
         code.append(String.format("%03d", sequenceNumber++)); // 格式化序列号为3位数字,不足部分补0
         return code.toString();
     }
+
     public static String generateBusinessId(int currentSerialNumber) {
         StringBuilder businessId = new StringBuilder();
         businessId.append(PREFIX);
@@ -78,5 +84,25 @@ public class BusinessIdGenerator {
             String code = generateBusinessId(i);
             System.out.println("Generated Code: " + code);
         }
+        System.out.println("UUID:"+generateNumBerUUID(18));
+    }
+
+    /**
+     * 生成指定位数的UUID
+     * @param number
+     * @return
+     */
+    public static String generateNumBerUUID(int number) {
+        UUID uuid = UUID.randomUUID();
+        String uuidStr = uuid.toString().replace("_", "");
+        //只保留数字部分
+        StringBuilder sb = new StringBuilder();
+        for (char c : uuidStr.toCharArray()) {
+            if (Character.isDigit(c)) {
+                sb.append(c);
+            }
+        }
+        //截取指定位左右最终结果
+        return sb.toString().substring(0, number);
     }
 }

+ 5 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfd/param/QySecondlineHfdAddParam.java

@@ -12,6 +12,8 @@
  */
 package vip.xiaonuo.biz.modular.qysecondlinehfd.param;
 
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Getter;
 import lombok.Setter;
@@ -165,4 +167,7 @@ public class QySecondlineHfdAddParam {
     @Schema(description = " 备注")
     private String remark;
 
+    @Schema(description = "核放单报关单号")
+    private String hfdBgCode;
+
 }

+ 10 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfd/service/impl/QySecondlineHfdServiceImpl.java

@@ -25,6 +25,7 @@ import org.apache.http.auth.AUTH;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import vip.xiaonuo.biz.modular.qyrecordinfo.entity.BusinessIdGenerator;
 import vip.xiaonuo.biz.modular.qysecondlinehfd.param.*;
 import vip.xiaonuo.biz.modular.qysecondlinehfd.vo.QySecondlineHfdBgInfoVo;
 import vip.xiaonuo.biz.modular.qysecondlinehfd.vo.QySecondlineHfdDetailVo;
@@ -50,6 +51,7 @@ import vip.xiaonuo.biz.modular.qysecondlinehfd.entity.QySecondlineHfd;
 import vip.xiaonuo.biz.modular.qysecondlinehfd.mapper.QySecondlineHfdMapper;
 import vip.xiaonuo.biz.modular.qysecondlinehfd.service.QySecondlineHfdService;
 
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -185,6 +187,14 @@ public class QySecondlineHfdServiceImpl extends ServiceImpl<QySecondlineHfdMappe
     public void add(QySecondlineHfdBaseParam qySecondlineHfdBaseParam){
         QySecondlineHfdAddParam baseInfo = qySecondlineHfdBaseParam.getBaseInfo();
         QySecondlineHfd qySecondlineHfd = BeanUtil.toBean(baseInfo, QySecondlineHfd.class);
+        qySecondlineHfd.setSbsj(new Date());
+        //生成预录入单号
+        String hfdRCode = BusinessIdGenerator.generateNumBerUUID(18);
+        qySecondlineHfd.setHfdrCode(hfdRCode);
+        //生成核注单号(审核通过时)
+        if(ObjectUtil.isNotEmpty(baseInfo.getStatus()) && "3".equals(baseInfo.getStatus())){
+            qySecondlineHfd.setHfdCode(BusinessIdGenerator.generateNumBerUUID(18));
+        }
         this.save(qySecondlineHfd);
         //新增核放单关联信息
         this.saveHfdRelation(qySecondlineHfd.getId(),qySecondlineHfdBaseParam);

+ 6 - 2
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehzdtz/service/impl/QySecondlineHzdTzServiceImpl.java

@@ -29,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional;
 import vip.xiaonuo.biz.modular.qyrecardbody.entity.QyRecardBody;
 import vip.xiaonuo.biz.modular.qyrecardbody.param.QyRecardBodyIdParam;
 import vip.xiaonuo.biz.modular.qyrecardbody.service.QyRecardBodyService;
+import vip.xiaonuo.biz.modular.qyrecordinfo.entity.BusinessIdGenerator;
 import vip.xiaonuo.biz.modular.qyrecordinfo.entity.QyRecordInfo;
 import vip.xiaonuo.biz.modular.qyrecordinfo.service.QyRecordInfoService;
 import vip.xiaonuo.biz.modular.qyrecordproduct.entity.QyRecordProduct;
@@ -132,9 +133,12 @@ public class QySecondlineHzdTzServiceImpl extends ServiceImpl<QySecondlineHzdTzM
             qySecondlineHzdTz.setSblx("basq");
         }
         //生成预录入单号
-
+        String hzdRCode = BusinessIdGenerator.generateNumBerUUID(18);
+        qySecondlineHzdTz.setHzdrCode(hzdRCode);
         //生成核注单号(审核通过时)
-
+        if(ObjectUtil.isNotEmpty(baseInfo.getStatus()) && "3".equals(baseInfo.getStatus())){
+            qySecondlineHzdTz.setHgHzdCode(BusinessIdGenerator.generateNumBerUUID(18));
+        }
         this.save(qySecondlineHzdTz);
     }