Java生成流水线编号
  TEZNKK3IfmPf 2024年03月29日 17 0

在编写代码时,常用到流水线编号,大家使用的时候结合自己的数据库的流水线编号来进行查询。

流水编号产生过程

  1. 获取时间编号,作为流水线的前一部分。
  2. 查询数据库中当前 时间编号,如果有就拿取当前时间编号的后3位,进行加一,然后与当前时间编号拼接,返回回去。如果没有就是当前时间编号 加上001,返回回去。
  3. 如果有其他需要,比如不同部门的流水线可能一致,但是部门ID不同,那就查询时要加入这个条件。
/**
     * 生成流水线编号 格式:年月日+001
     * 不同的学校,作文批改批号可以重复
     * 查表的类型
     * @return String
     */
    public  String codeNumber(){
        //获取时间编号
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        String dateNo = sdf.format(new Date()); // 格式化日期 date: 20230613
        //下面这句话就是保证数据库中的流水线编号顺序的
//      对这个年月日进行查询,如果有就读取最后一条,拿出最后三位。如果没有就放 当前的年月日+001,放入数据库
        EssayCorrection correction = new EssayCorrection();
        correction.setCorrectBatch(dateNo);
//        获取当前用户登录账号,根据账号找到所属学校
        EssayTeacher teacher = new EssayTeacher();
        teacher.setTeacherPhone(SecurityUtils.getLoginUser().getUser().getUserName());
        EssayTeacher teacherPhone = essayTeacherService.selectTeacherByPhone(teacher);
//        加入学校ID
        correction.setSchoolId(teacherPhone.getSchoolId());
        List<EssayCorrection> essayCorrections = essayCorrectionService.selectEssayCorrectBatchNotUser(correction);
        if (essayCorrections.size()>0){
            String endLength = String.valueOf(essayCorrections.get(0).getCorrectBatch());
            String dateNoFrong = endLength.substring(0,8);
            String dateNoRear  = endLength.substring(8);
//            最后三位转数字
            int dataNoRearMiddle = Integer.parseInt(dateNoRear);
            if (dataNoRearMiddle>999){
                throw new RuntimeException("超过今日批改次数");
            }
            dataNoRearMiddle+=1;
//           最后三位不够加0
            String dateNoRearMiddle1 = null;
            if (dataNoRearMiddle>0 && dataNoRearMiddle<=9){
                dateNoRearMiddle1 = "00"+dataNoRearMiddle;
            }
            if (dataNoRearMiddle>=10 && dataNoRearMiddle<=99){
                dateNoRearMiddle1 = "0"+dataNoRearMiddle;
            }
            if (dataNoRearMiddle>=100 && dataNoRearMiddle <=999){
                dateNoRearMiddle1 = String.valueOf(dataNoRearMiddle);
            }
//            再转回去
            String dateNoRearEnd = dateNoRearMiddle1;
//            最后的拼接
            dateNoFrong = dateNoFrong+dateNoRearEnd;

            return dateNoFrong;
        }else {
            dateNo = dateNo+"001";
        }
        return dateNo;
    }

成果展示:

Java生成流水线编号

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年03月29日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   21天前   48   0   0 java
  TEZNKK3IfmPf   2024年05月31日   55   0   0 java
TEZNKK3IfmPf