diff --git a/src/main/java/com/xujie/sys/modules/ruler/CodeRule.java b/src/main/java/com/xujie/sys/modules/ruler/CodeRule.java index 0dfe73e2..4e249fbc 100644 --- a/src/main/java/com/xujie/sys/modules/ruler/CodeRule.java +++ b/src/main/java/com/xujie/sys/modules/ruler/CodeRule.java @@ -18,12 +18,12 @@ public class CodeRule implements IFillRuleHandler{ String codeno=formData.get("codeno").toString(); SysCodeCountServiceImpl sysCodeCountImpl = (SysCodeCountServiceImpl)SpringContextUtils.getBean("SysCodeCountServiceImpl"); SimpleDateFormat format = new SimpleDateFormat("yyMMdd") ; - String updateDate=format.format(new Date()) ; + String updateTime=format.format(new Date()) ; QueryWrapper queryWrapper=new QueryWrapper<>() ; queryWrapper.eq("code_no",codeno); List firs= sysCodeCountImpl.list(queryWrapper); - SysCodeCount fir = null; + /*SysCodeCount fir = null; int cnum=0; if(CollectionUtils.isEmpty(firs)){ cnum++; @@ -42,6 +42,30 @@ public class CodeRule implements IFillRuleHandler{ sysCodeCountImpl.updateById(fir); } String value = codeno + updateDate + String.format("%04d", cnum) ; + return value;*/ + + SysCodeCount fir = null; + int cnum=0; + if(CollectionUtils.isEmpty(firs)){ + cnum++; + fir=new SysCodeCount(); + fir.setCnum(cnum); + fir.setCodeNo(codeno); + fir.setUpdateTime(updateTime); + sysCodeCountImpl.save(fir); + + }else{ + fir = firs.get(0); + if(!updateTime.equals(fir.getUpdateTime())){ + fir.setUpdateTime(updateTime); + fir.setCnum(0); + } + cnum= fir.getCnum(); + cnum++; + fir.setCnum(cnum); + sysCodeCountImpl.updateById(fir); + } + String value = codeno + updateTime + String.format("%04d", cnum) ; return value; } } diff --git a/src/main/java/com/xujie/sys/modules/sys/entity/SysCodeCount.java b/src/main/java/com/xujie/sys/modules/sys/entity/SysCodeCount.java index 90f012e3..33dd29f8 100644 --- a/src/main/java/com/xujie/sys/modules/sys/entity/SysCodeCount.java +++ b/src/main/java/com/xujie/sys/modules/sys/entity/SysCodeCount.java @@ -39,5 +39,7 @@ public class SysCodeCount implements Serializable { private String codeNo; + private String updateTime; + private int cnum; }