落地数据根据某一原则去自动生成处置不同单号

规则:大分类+小分类+日期+数据落地顺序
表结构:sys_code表
guid: 主键
code: 序列号(重点)
name: 日期
code_type: 序列类型(默认:serialno)

//处置单号

			SysCode sysCode = sysCodeMapper.selectByCodeType("SERIALNO"); //从表里查出数据
			int serial = Integer.parseInt(sysCode.getCode());
			if(!DateUtil.getCurrentDate().equals(sysCode.getName())) {  
				serial = 1;
				sysCode.setName(DateUtil.getCurrentDate());  //更新为落地当天的日期
			}   
			sysCode.setCode(String.valueOf(serial + listDown.size())); //更新表里的序列号
			sysCodeMapper.updateSysCode(sysCode);
			    // 循环落地数据 (listDown)
 for(int i=0;i<listDown.size();i++){
String serialNo = String.format("%04d", serial++);	
				monitoring.setNo(ManageNoUtil.generate(ModuleEnum.REALTIME_WARN,ClassifyType.WARN, serialNo)+1); 
	} 

工具类(DateUtil)

public static String getCurrentDate(){
	SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
	return sdf.format(Calendar.getInstance().getTime());
}

工具类(ManageNoUtil)
/**
* 生成处置单号方法
* @param module 模块
* @param type 类型
* @param serialNo 序列
* @return 处置单号
*/
public static String generate(ModuleEnum module,String type,String serialNo) {
String date = DateUtil.getCurrentDate();
String result = module.getCode() + type + date + serialNo;
return result;
}

/**
 * 判断当前序列号应为?
 * @param date
 * @param currentNo
 * @return
 */
public static String nextNo(String date, int currentNo) {
	if(DateUtil.getCurrentDate().equals(date)) {
		return String.format("%03d", currentNo + 1);
	}
	return String.format("%03d", 1);
}

枚举(public enum ModuleEnum {

PRICE("01"),
CLASSIFY("02"),
SOURCE_AREA("03"),
MANUAL_ENTRY("04"),
REALTIME_WARN("05"),
;
private String code;
private ModuleEnum(String code) {
	this.code = code;
}
public String getCode() {
	return code;
}

})

落地出来的数据是:
0504 201907081053303

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值