add: 预警功能只预警最新文件类型的分解单

This commit is contained in:
zyd
2022-08-30 22:56:24 +08:00
parent b42a15ebda
commit 3db4903b0a
4 changed files with 105 additions and 25 deletions
@@ -19,6 +19,7 @@ import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
import com.adc.da.slrs.sarUpdLog.service.ISarUpdLogService;
import com.adc.da.sys.service.IDicTypeEOService;
import com.adc.da.util.UUIDUtils;
import com.adc.da.utils.util.InitStandAttrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONObject;
@@ -159,8 +160,33 @@ public class ScheduledJob {
}
}
});
//此处开始处理条款中的预警数据
//查询符合预警期限的标准 多个
List<WarningDate> warningDateOfItems = sarStandardWarningDao.getWarningDateOfItems(term);
warningDateOfItems.forEach(item -> {
for (String s : item.getSSRQ().split(",")) {
String pattern = term.getTermStr();
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(s);
//判断是否是日期格式
if (m.matches()) {
//此处判断当前条款的数据是否是最新状态的
String lawsId = item.getLawId();
String fileType =item.getFileType();
String textState = sarStandardWarningDao.getStandTextStateByStandId(lawsId);
if(StringUtils.isNotBlank(textState)){
String convertFileType = convertTextStateToItemType(textState);
if(StringUtils.isNotBlank(convertFileType) && fileType.equals(convertFileType)){
WarningDate warningDate = new WarningDate();
BeanUtils.copyProperties(item, warningDate);
warningDate.setId(UUIDUtils.randomUUID20());
warningDate.setSSRQ(s);
data.add(warningDate);
}
}
}
}
});
//清空标准的日期子表
iWarningDateService.remove(null);
// 保存进入标准的日期子表 保存标准的实施日期 新车型实施日期 在产车实施日期 多个
@@ -184,6 +210,52 @@ public class ScheduledJob {
}
}
/**
* 将文本状态转换成文件类型
* @param textState
* @return
*/
private String convertTextStateToItemType(String textState){
String fileType ="";
switch (textState){
case "DRAFT"://草稿
fileType="CA";
break;
case "ADVICE"://征求意见稿
fileType="ZQYJG";
break;
case "RADYSUBMIT"://报批稿
fileType="BPG";
break;
case "SUBMIT"://送审稿
fileType="SSG";
break;
case "FJNVYX9Q7J"://发布稿
fileType="FBGBJBD";
break;
case "ZTJJSS"://修订中
fileType=null;
break;
case "TOVOID"://已作废
fileType=null;
break;
case "ZTXXYX"://计划修订
fileType=null;
break;
case "5E5Z3CELX6"://已实施
fileType="FBGBJBD";
break;
case "N5KLTFLNRC"://已修订
fileType=null;
break;
default:
fileType=null;
break;
}
return fileType;
}
@Autowired
private ISarUpdLogService sarUpdLogEOService;
@@ -285,17 +357,10 @@ public class ScheduledJob {
replaceIdCountMap.put(standId.get(0), 1);
}
}
}
}
}
});
//一个被代替标准号时,文本状态更新为废止状态,两个及以上时更新为被代替状态
for (String key : replaceIdCountMap.keySet()) {
SarStandardsInfo sarStandardsInfo = new SarStandardsInfo();
@@ -23,4 +23,8 @@ public interface SarStandardWarningDao extends BaseMapper<EarlyWarningEO> {
public List<WarningDate> getWarningDate(TermDTO term);
public List<WarningDate> getWarningDateOfItems(TermDTO term);
public String getStandTextStateByStandId(String standId);
}
@@ -22,4 +22,6 @@ public class WarningDate {
@TableField("time_Name")
private String timeName;
private String fileType;
}