354798ggg
2023-06-07 9df34a46a1f3f6fe7268b13244eb94208f224a7b
流程结束前处理器生成流水字号
已添加1个文件
44 ■■■■■ 文件已修改
home-server-admin/src/main/java/com/home/xining/service/FlowEndCreateSerialNumber.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
home-server-admin/src/main/java/com/home/xining/service/FlowEndCreateSerialNumber.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
package com.home.xining.service;
import java.text.DecimalFormat;
import java.text.Format;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.product.core.dao.BaseDao;
import com.product.core.entity.FieldSetEntity;
import com.product.core.service.support.AbstractBaseService;
/**
 *     æµç¨‹ç»“束前处理器调用,自动给行政处罚相关业务添加字号
 * @author 86151
 *
 */
@Component
public class FlowEndCreateSerialNumber extends AbstractBaseService{
    @Autowired
    BaseDao baseDao;
    /**
     *     è‡ªåŠ¨ç”Ÿæˆå­—å·
     * @param tableName        è¡¨å
     * @param serviceUUID    ä¸šåŠ¡UUID
     * @param yearNo        å®æˆ¿å­—
     */
    public synchronized void autoCreateSerialNumber(FieldSetEntity fse, String serviceUUID, String yearNo) {
        //查询同字数据中最大的号
        FieldSetEntity fseMax =baseDao.getFieldSetEntityBySQL("SELECT IFNULL(MAX(no02),0)+1 no02 FROM "+fse.getTableName()+" WHERE no01=?", new Object[] {yearNo}, false);
        if (fseMax!=null) {
            Integer maxNo = fseMax.getInteger("no02");
            //格式化号
            Format format = new DecimalFormat("000");
            String finalNo= format.format(maxNo);
            //修改数据
            baseDao.executeUpdate("UPDATE "+ fse.getTableName() +" SET no02 =? WHERE uuid=?", new Object[] {finalNo, serviceUUID});
        }
    }
}