parent
75c8a0b561
commit
4f28855752
|
|
@ -4,9 +4,11 @@ import cn.hutool.core.convert.Convert;
|
|||
import com.engine.secret.entity.autonumber.AcceptanceNumber;
|
||||
import com.engine.secret.exception.CustomizeRunTimeException;
|
||||
import com.engine.secret.util.ModeUtil;
|
||||
import weaver.common.DateUtil;
|
||||
import weaver.conn.RecordSetTrans;
|
||||
import weaver.formmode.IgnoreCaseHashMap;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Map;
|
||||
|
|
@ -19,18 +21,25 @@ import java.util.UUID;
|
|||
*/
|
||||
public class AutoGenerateNumberInstance {
|
||||
private static final String TABLE_NAME = "uf_sldh";
|
||||
private static final String RECORD_TABLE_NAME = "uf_sldh_dt1";
|
||||
|
||||
private static AutoGenerateNumberInstance instance = new AutoGenerateNumberInstance();
|
||||
private static final AutoGenerateNumberInstance INSTANCE = new AutoGenerateNumberInstance();
|
||||
|
||||
private AutoGenerateNumberInstance() {
|
||||
// 私有化构造方法
|
||||
}
|
||||
|
||||
public static AutoGenerateNumberInstance getInstance() {
|
||||
return instance;
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
public synchronized String getAcceptanceNumber(Map<String, Object> param) {
|
||||
/**
|
||||
* 集成、印制受理编号
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public synchronized String getAcceptanceNumber(User user, Map<String, Object> param) {
|
||||
RecordSetTrans rs = new RecordSetTrans();
|
||||
rs.setAutoCommit(false);
|
||||
try {
|
||||
|
|
@ -72,6 +81,8 @@ public class AutoGenerateNumberInstance {
|
|||
|
||||
String num = formattedYear + formattedMonth + formattedMonthlySerial + formattedGlobalSerial;
|
||||
rs.writeLog("requestId===" + requestId + ",secretType===" + secretType + ",num===" + num);
|
||||
insertGenerateRecord(rs, requestId, num, user.getUID());
|
||||
// 插入编号生成记录
|
||||
rs.commit();
|
||||
return num;
|
||||
} catch (Exception e) {
|
||||
|
|
@ -81,7 +92,13 @@ public class AutoGenerateNumberInstance {
|
|||
}
|
||||
}
|
||||
|
||||
public synchronized String getWarIndustryAcceptanceNumber(Map<String, Object> param) {
|
||||
/**
|
||||
* 军工受理单号
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
public synchronized String getWarIndustryAcceptanceNumber(User user, Map<String, Object> param) {
|
||||
RecordSetTrans rs = new RecordSetTrans();
|
||||
rs.setAutoCommit(false);
|
||||
try {
|
||||
|
|
@ -109,6 +126,7 @@ public class AutoGenerateNumberInstance {
|
|||
|
||||
String num = "JS" + formattedYear + formattedGlobalSerial;
|
||||
rs.writeLog("requestId===" + requestId + ",secretType===" + secretType + ",num===" + num);
|
||||
insertGenerateRecord(rs, requestId, num, user.getUID());
|
||||
rs.commit();
|
||||
return num;
|
||||
} catch (Exception e) {
|
||||
|
|
@ -196,4 +214,21 @@ public class AutoGenerateNumberInstance {
|
|||
dataMap.put("secret_type", number.getSecretType());
|
||||
return dataMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入编号生成记录
|
||||
*
|
||||
* @param requestId
|
||||
* @param num
|
||||
* @param userId
|
||||
*/
|
||||
private void insertGenerateRecord(RecordSetTrans rs, String requestId, String num, int userId) throws Exception {
|
||||
IgnoreCaseHashMap<String, Object> dataMap = new IgnoreCaseHashMap<>();
|
||||
dataMap.put("request_id", requestId);
|
||||
dataMap.put("num", num);
|
||||
dataMap.put("operate_user", userId);
|
||||
dataMap.put("operate_time", DateUtil.getFullDate());
|
||||
ModeUtil.insertData(rs, dataMap, RECORD_TABLE_NAME);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.engine.core.impl.Service;
|
|||
import com.engine.secret.exception.CustomizeRunTimeException;
|
||||
import com.engine.secret.instance.AutoGenerateNumberInstance;
|
||||
import com.engine.secret.service.AutoGenerateNumberService;
|
||||
import weaver.conn.RecordSet;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -18,16 +19,24 @@ public class AutoGenerateNumberServiceImpl extends Service implements AutoGenera
|
|||
@Override
|
||||
public String getAcceptanceNumber(Map<String, Object> param) {
|
||||
Integer secretType = Convert.toInt(param.get("secretType"));
|
||||
Integer requestId = Convert.toInt(param.get("requestId"));
|
||||
if (null == secretType) {
|
||||
throw new CustomizeRunTimeException("未获取到[保密资质(资格)类型],请检查表单数据");
|
||||
}
|
||||
// 查询当前请求是否已经生成单号,如已生成过,直接取原来单号,不重新生成
|
||||
RecordSet rs = new RecordSet();
|
||||
rs.executeQuery("select num from uf_sldh_dt1 where request_id = ? ", requestId);
|
||||
if (rs.next()) {
|
||||
return rs.getString("num");
|
||||
}
|
||||
|
||||
AutoGenerateNumberInstance instance = AutoGenerateNumberInstance.getInstance();
|
||||
if (0 == secretType || 1 == secretType) {
|
||||
// 集成、印制
|
||||
return instance.getAcceptanceNumber(param);
|
||||
return instance.getAcceptanceNumber(user, param);
|
||||
} else {
|
||||
// 军工
|
||||
return instance.getWarIndustryAcceptanceNumber(param);
|
||||
return instance.getWarIndustryAcceptanceNumber(user, param);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue