O
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.

70 lines
2.5 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. package com.xujie.sys.modules.ruler;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.xujie.sys.common.utils.SpringContextUtils;
  5. import com.xujie.sys.modules.sys.entity.SysCodeCount;
  6. import com.xujie.sys.modules.sys.service.impl.SysCodeCountServiceImpl;
  7. import org.springframework.util.CollectionUtils;
  8. import java.text.SimpleDateFormat;
  9. import java.util.Date;
  10. import java.util.List;
  11. public class CodeRule implements IFillRuleHandler{
  12. @Override
  13. public Object execute(JSONObject params, JSONObject formData) {
  14. String codeno=formData.get("codeno").toString();
  15. SysCodeCountServiceImpl sysCodeCountImpl = (SysCodeCountServiceImpl)SpringContextUtils.getBean("SysCodeCountServiceImpl");
  16. SimpleDateFormat format = new SimpleDateFormat("yyMMdd") ;
  17. String updateTime=format.format(new Date()) ;
  18. QueryWrapper<SysCodeCount> queryWrapper=new QueryWrapper<>() ;
  19. queryWrapper.eq("code_no",codeno);
  20. List<SysCodeCount> firs= sysCodeCountImpl.list(queryWrapper);
  21. /*SysCodeCount fir = null;
  22. int cnum=0;
  23. if(CollectionUtils.isEmpty(firs)){
  24. cnum++;
  25. fir=new SysCodeCount();
  26. fir.setCnum(cnum);
  27. fir.setCodeNo(codeno);
  28. fir.setUpdateDate(new Date());
  29. fir.setCreateDate(new Date());
  30. sysCodeCountImpl.save(fir);
  31. }else{
  32. fir = firs.get(0);
  33. cnum= fir.getCnum();
  34. cnum++;
  35. fir.setCnum(cnum);
  36. fir.setUpdateDate(new Date());
  37. sysCodeCountImpl.updateById(fir);
  38. }
  39. String value = codeno + updateDate + String.format("%04d", cnum) ;
  40. return value;*/
  41. SysCodeCount fir = null;
  42. int cnum=0;
  43. if(CollectionUtils.isEmpty(firs)){
  44. cnum++;
  45. fir=new SysCodeCount();
  46. fir.setCnum(cnum);
  47. fir.setCodeNo(codeno);
  48. fir.setUpdateTime(updateTime);
  49. sysCodeCountImpl.save(fir);
  50. }else{
  51. fir = firs.get(0);
  52. if(!updateTime.equals(fir.getUpdateTime())){
  53. fir.setUpdateTime(updateTime);
  54. fir.setCnum(0);
  55. }
  56. cnum= fir.getCnum();
  57. cnum++;
  58. fir.setCnum(cnum);
  59. sysCodeCountImpl.updateById(fir);
  60. }
  61. String value = codeno + updateTime + String.format("%04d", cnum) ;
  62. return value;
  63. }
  64. }