From 3db4903b0af0b4f8d4271037947b7474ccd4402b Mon Sep 17 00:00:00 2001 From: zyd Date: Tue, 30 Aug 2022 22:56:24 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E9=A2=84=E8=AD=A6=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=8F=AA=E9=A2=84=E8=AD=A6=E6=9C=80=E6=96=B0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E7=9A=84=E5=88=86=E8=A7=A3=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/adc/da/scheduled/ScheduledJob.java | 83 +++++++++++++++++-- .../scheduled/dao/SarStandardWarningDao.java | 4 + .../sarStandWarning/entity/WarningDate.java | 2 + .../sarStandWarning/SarStandardWarningDao.xml | 41 +++++---- 4 files changed, 105 insertions(+), 25 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java index 9bf24da5..ce35933c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledJob.java @@ -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 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(); diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java index 196b8046..65f2b77f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/dao/SarStandardWarningDao.java @@ -23,4 +23,8 @@ public interface SarStandardWarningDao extends BaseMapper { public List getWarningDate(TermDTO term); + public List getWarningDateOfItems(TermDTO term); + + public String getStandTextStateByStandId(String standId); + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/WarningDate.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/WarningDate.java index c03ad937..156f0da3 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/WarningDate.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandWarning/entity/WarningDate.java @@ -22,4 +22,6 @@ public class WarningDate { @TableField("time_Name") private String timeName; + + private String fileType; } diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml index 0d3990fc..b696d004 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarStandWarning/SarStandardWarningDao.xml @@ -91,22 +91,6 @@ select A.* from from sar_stand_attr_info attr WHERE ZCCSSRQ REGEXP #{termStr} - - - - UNION All - select item.STAND_ID as lawId,item.ID as itemId,'ZCCSSRQ' as timeName, - ZCCSSRQ as SSRQ - from sar_stand_items item - WHERE - ZCCSSRQ REGEXP #{termStr} - - UNION All - select item.STAND_ID as lawId,item.ID as itemId,'XCXSSRQ' as timeName, - XCXSSRQ as SSRQ - from sar_stand_items item - WHERE - XCXSSRQ REGEXP #{termStr} ) AS A left join sar_standards_info as sarInfo on sarInfo.id=A.lawId @@ -115,5 +99,30 @@ select A.* from + + + + +