Commit 40d50d15 authored by wanglong's avatar wanglong

修复项目编号自增重复问题

parent 976fd7d0
......@@ -31,6 +31,7 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
......@@ -92,18 +93,30 @@ public class ProjectController extends BaseController {
projectInitiationService.start(project);
return ResponseHelper.buildResponse(model);
}
// 静态变量存储最大值
private static final AtomicInteger atomicNum = new AtomicInteger();
private static final Integer INIT_CODE_NUM = 0;
public String getCode(){
String date = new SimpleDateFormat("MMdd").format(new Date());
String code = "XM"+date+"-";
int c = 1;
String format="";
LambdaQueryWrapper<Project> wrapper = new LambdaQueryWrapper<>();
wrapper.orderByDesc(Project::getCode);
String projectCode = projectServiceImpl.list(wrapper).iterator().next().getCode();
if(!ValidationUtil.isEmpty(projectCode)){
c = Integer.parseInt(projectCode.substring(projectCode.indexOf("-")+1,projectCode.length()))+1;
String proDate = projectCode.substring(projectCode.indexOf("M")+1,projectCode.length() - 5);
if (proDate.equals(date)){
String substring = projectCode.substring(projectCode.length() - 4);
atomicNum.set(Integer.parseInt(substring));
}else {
atomicNum.set(INIT_CODE_NUM);
}
format = String.format("%04d", atomicNum.incrementAndGet());
}
return code+c;
return code+format;
}
public Map<String,String> getInfo(String regionName,String regionCode,Long sequenceNbr){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment