| | |
| | | private SysTaskMapper sysTaskMapper; |
| | | |
| | | /** |
| | | * 生成任务编号 |
| | | * 格式:TASK + YYYYMMDD + 4位序号 |
| | | * 生成任务编号(使用默认前缀) |
| | | * 格式:T + YYYYMMDD + 4位序号 |
| | | * |
| | | * @return 任务编号 |
| | | * @deprecated 建议使用 {@link #generateTaskCode(String)} 指定单据类型前缀 |
| | | */ |
| | | @Deprecated |
| | | public String generateTaskCode() { |
| | | return generateTaskCode("T"); |
| | | } |
| | | |
| | | /** |
| | | * 生成任务编号 |
| | | * 格式:单据类型前缀 + YYYYMMDD + 4位序号 |
| | | * |
| | | * @param serviceOrdClass 单据类型(如:BF、JZ等) |
| | | * @return 任务编号 |
| | | */ |
| | | public String generateTaskCode(String serviceOrdClass) { |
| | | String dateStr = DateUtils.dateTimeNow("yyyyMMdd"); |
| | | return generateTaskCode(dateStr); |
| | | return generateTaskCode(serviceOrdClass, dateStr); |
| | | } |
| | | |
| | | /** |
| | | * 根据日期生成任务编号 |
| | | * |
| | | * @param serviceOrdClass 单据类型(如:BF、JZ等) |
| | | * @param date 日期 |
| | | * @return 任务编号 |
| | | */ |
| | | public String generateTaskCode(Date date) { |
| | | public String generateTaskCode(String serviceOrdClass, Date date) { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); |
| | | String dateStr = sdf.format(date); |
| | | return generateTaskCode(dateStr); |
| | | return generateTaskCode(serviceOrdClass, dateStr); |
| | | } |
| | | |
| | | /** |
| | | * 根据日期字符串生成任务编号 |
| | | * |
| | | * @param serviceOrdClass 单据类型(如:BF、JZ等) |
| | | * @param dateStr 日期字符串(格式:yyyyMMdd) |
| | | * @return 任务编号 |
| | | */ |
| | | private String generateTaskCode(String dateStr) { |
| | | String datePrefix = "TASK" + dateStr; |
| | | private String generateTaskCode(String serviceOrdClass, String dateStr) { |
| | | // 确保单据类型前缀不为空,默认使用"T" |
| | | String prefix = (serviceOrdClass != null && !serviceOrdClass.trim().isEmpty()) |
| | | ? serviceOrdClass.trim() : "T"; |
| | | |
| | | String datePrefix = prefix + dateStr; |
| | | |
| | | // 查询当日最大编号 |
| | | String maxTaskCode = sysTaskMapper.selectMaxTaskCodeByDatePrefix(datePrefix); |