diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateStandSyncFz.java b/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateStandSyncFz.java index 535df843..4c5f2372 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateStandSyncFz.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateStandSyncFz.java @@ -110,45 +110,28 @@ public class UpdateStateStandSyncFz implements Runnable { List invalidStandToGBList = new ArrayList<>(); List bdtStandToGBList = new ArrayList<>(); - + List bdtStandToNotGBList = new ArrayList<>(); // 当前标准的标准类别是否是GB类 GB集合逻辑 getStateStandScheduledList.forEach(info -> { if(StringUtils.isNotBlank(info.getBDTBZH())){ List bdtList = Arrays.stream(info.getBDTBZH().split(",")).map( s -> s.replace(" ","").trim()).collect(Collectors.toList()); - // 查询等于GB的国内标准 + int bdtStandNumCount = bdtList.size(); QueryWrapper wrapperGB = new QueryWrapper(); wrapperGB.eq("SAR_STANDARDS_INFO.VALID_FLAG","0"); - wrapperGB.eq("SAR_STANDARDS_INFO.STAND_SORT","GB"); +// wrapperGB.eq("SAR_STANDARDS_INFO.STAND_SORT","GB"); wrapperGB.in("trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER,'-'," + "SAR_STANDARDS_INFO.STAND_YEAR),' ',''))",bdtList); List queryGBList = sarStandardsInfoDao.selectList(wrapperGB); - - if(!queryGBList.isEmpty()){ - int queryGbCount = queryGBList.size(); - - //被代替标准号中所有有效标准的状态都是现行有效状态 - List fzList = queryGBList.stream().filter(info1 -> - "vsaga7nwub".equals(info1.getTextStatus()) || "qke0ckro2p".equals(info1.getTextStatus()) - || "chblaarg77".equals(info1.getTextStatus())).collect(Collectors.toList()); - - List fzList2 = queryGBList.stream().filter(info1 -> - !"vsaga7nwub".equals(info1.getTextStatus()) && !"qke0ckro2p".equals(info1.getTextStatus()) - && !"chblaarg77".equals(info1.getTextStatus())).collect(Collectors.toList()); - -// //被代替标准号中所有有效标准的状态都是被代替状态 -// List bdtStateList = queryGBList.stream().filter(info1 -> -// "qke0ckro2p".equals(info1.getTextStatus())).collect(Collectors.toList()); -// -// //被代替标准号中所有有效标准的状态都是废止状态 -// List fzList = queryGBList.stream().filter(info1 -> -// "chblaarg77".equals(info1.getTextStatus())).collect(Collectors.toList()); - - // 满足其上存入更新废止逻辑 如果只有一个被代替标准 优先更新废止状态 - if(!fzList.isEmpty() && fzList2.isEmpty()){ + //被代替标准号中所有有效标准的状态都是现行有效状态 + List fzList = queryGBList.stream().filter(info1 -> + "vsaga7nwub".equals(info1.getTextStatus()) || "qke0ckro2p".equals(info1.getTextStatus()) + || "chblaarg77".equals(info1.getTextStatus())).collect(Collectors.toList()); + // 检查当前标准是否为GB类 + if(StringUtils.equals(info.getStandSort(),"GB")){ + if(fzList.size() == bdtStandNumCount){//当所有标准都是现行有效状态时 invalidStandToGBList.add(info); - }else { - // 被代替标准号中的有效标准的标准状态中有一个是发布、即将实施、现行有效、被代替状态的 + }else{//其中被代替标准号中存在 List singleList = queryGBList.stream().filter(info1 -> { if("hc99551723c".equals(info1.getTextStatus()) || "hb0iy9z23c".equals(info1.getTextStatus()) || "vsaga7nwub".equals(info1.getTextStatus()) || "qke0ckro2p".equals(info1.getTextStatus())){ @@ -156,50 +139,19 @@ public class UpdateStateStandSyncFz implements Runnable { } return false; }).collect(Collectors.toList()); - // 满足其上存入更新被代替逻辑 if(!singleList.isEmpty()){ bdtStandToGBList.add(info); } } + }else{//非GB类 + if(fzList.size()>0){ + bdtStandToNotGBList.add(info); + } } } }); - - // 当前标准的标准类别是否是GB类 NOT GB集合逻辑 - List bdtStandToNotGBList = getStateStandScheduledList.stream().filter(info -> { - if(StringUtils.isNotBlank(info.getBDTBZH())){ - List bdtList = Arrays.stream(info.getBDTBZH().split(",")).map( - s -> s.replace(" ","").trim()).collect(Collectors.toList()); - - //发布、即将实施、现行有效、被代替 - List bdtStateList = new ArrayList<>(); - // 发布 - bdtStateList.add("hc99551723c"); - // 作废 - bdtStateList.add("hb0iy9z23c"); - // 即将实施 - bdtStateList.add("vsaga7nwub"); - // 被代替 - bdtStateList.add("qke0ckro2p"); - - // 查询不等于GB的国内标准 且 有效的被代替标准 - QueryWrapper wrapperNotGB = new QueryWrapper(); - wrapperNotGB.eq("VALID_FLAG","0"); - wrapperNotGB.ne("STAND_SORT","GB"); - wrapperNotGB.in("TEXT_STATUS",bdtStateList); - wrapperNotGB.in("trim(replace(concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER,'-'," + - "SAR_STANDARDS_INFO.STAND_YEAR),' ',''))",bdtList); - List queryNotGBList = sarStandardsInfoDao.selectList(wrapperNotGB); - - // 被代替标准号中的有效标准的标准状态中有一个是发布、即将实施、现行有效、被代替状态的 - // 满足其上过滤更新被代替数据 - return !queryNotGBList.isEmpty(); - } - return false; - }).collect(Collectors.toList()); - if(!invalidStandToGBList.isEmpty()){ logger.info("=============被代替标准号中所有有效标准的状态都是现行有效、被代替、废止状态 执行============"); // 文本状态更为废止状态 @@ -217,9 +169,6 @@ public class UpdateStateStandSyncFz implements Runnable { // 文本状态更为被代替 execStandDate(bdtStandToNotGBList,"qke0ckro2p"); } - - - } logger.info("每天0点1分执行 国内标准文本状态被代替逻辑 标准自动变更废止:"+Thread.currentThread().getName() + " cron=0 1 0 * * ? --- " + new Date()+"---End-01");