You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package com.xujie.sys.modules.ruler;
import com.alibaba.fastjson.JSONObject;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.xujie.sys.common.utils.SpringContextUtils;import com.xujie.sys.modules.sys.entity.SysCodeCount;import com.xujie.sys.modules.sys.service.impl.SysCodeCountServiceImpl;import org.springframework.util.CollectionUtils;
import java.text.SimpleDateFormat;import java.util.Date;import java.util.List;
public class CodeRule implements IFillRuleHandler{ @Override public Object execute(JSONObject params, JSONObject formData) { String codeno=formData.get("codeno").toString(); SysCodeCountServiceImpl sysCodeCountImpl = (SysCodeCountServiceImpl)SpringContextUtils.getBean("SysCodeCountServiceImpl"); SimpleDateFormat format = new SimpleDateFormat("yyMMdd") ; String updateTime=format.format(new Date()) ; QueryWrapper<SysCodeCount> queryWrapper=new QueryWrapper<>() ; queryWrapper.eq("code_no",codeno); List<SysCodeCount> firs= sysCodeCountImpl.list(queryWrapper);
/*SysCodeCount fir = null; int cnum=0; if(CollectionUtils.isEmpty(firs)){ cnum++; fir=new SysCodeCount(); fir.setCnum(cnum); fir.setCodeNo(codeno); fir.setUpdateDate(new Date()); fir.setCreateDate(new Date()); sysCodeCountImpl.save(fir); }else{ fir = firs.get(0); cnum= fir.getCnum(); cnum++; fir.setCnum(cnum); fir.setUpdateDate(new Date()); 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; }}
|