1
0

3 Commits f73feaebc9 ... aae8efdb90

Autor SHA1 Mensaje Fecha
  xuxiaodong aae8efdb90 Merge remote-tracking branch 'origin/master' hace 3 meses
  xuxiaodong 85949c58a0 用水发送一件事数据至IRS新增nacos配置开关 hace 3 meses
  xuxiaodong 36287bed1f 推送检查用水不合格推送不合格数据到三级中心 hace 3 meses

+ 4 - 0
zfjg-api/zfjg-api-manage/src/main/java/com/zfjg/manage/api/dto/enforce/job/EnforceJobFireRoomDTO.java

@@ -15,4 +15,8 @@ public class EnforceJobFireRoomDTO {
     private String enforceObjId;
 
     private String jobId;
+
+    private String itemName;
+
+    private String itemContent;
 }

+ 18 - 10
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/controller/api/ApiController.java

@@ -141,15 +141,23 @@ public class ApiController extends BaseController {
         taskGenerateService.generateEnforceJob(taskId);
     }
 
-    @GetMapping("/fire/room/test")
-    public void updateFireRoomTest() {
-        log.error("消控室查询测试");
-        log.info("消控室查询测试");
-        System.out.println("消控室查询测试");
-        ljZfjgSyncDataService.updateFireRoom();
-        log.error("消控室查询测试完成");
-        log.info("消控室查询测试完成");
-        System.out.println("消控室查询测试完成");
-    }
+//    @GetMapping("/fire/room/test")
+//    public void updateFireRoomTest() {
+//        log.error("消控室查询测试");
+//        log.info("消控室查询测试");
+//        System.out.println("消控室查询测试");
+//        ljZfjgSyncDataService.updateFireRoom();
+//        log.error("消控室查询测试完成");
+//        log.info("消控室查询测试完成");
+//        System.out.println("消控室查询测试完成");
+//    }
+//
+//
+//    @GetMapping("/fire/water/test")
+//    public void updateUseWater() {
+//        log.info("用水不合格查询测试");
+//        ljZfjgSyncDataService.updateUseWater();
+//        log.info("用水不合格查询测试完成");
+//    }
 
 }

+ 2 - 0
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/mapper/enforce/obj/EnforceObjMapper.java

@@ -121,5 +121,7 @@ public interface EnforceObjMapper extends BaseMapper<EnforceObj> {
     List<EnforceObj> selectByOrgId(@Param("enforceOrgId") String needPushDataOrgId);
 
     List<EnforceJobFireRoomDTO> getEnforceJobFireRoom();
+
+    List<EnforceJobFireRoomDTO> getEnforceJobUseWaterList();
 }
 

+ 9 - 0
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/service/enforce/obj/IEnforceObjServiceExtend.java

@@ -21,6 +21,7 @@ public interface IEnforceObjServiceExtend {
 
     /**
      * 获取机构信息记录
+     *
      * @param creditCode 信用代码
      * @return JSON数据
      */
@@ -33,4 +34,12 @@ public interface IEnforceObjServiceExtend {
      * @return
      */
     List<EnforceJobFireRoomDTO> enforceJobFireRoomList();
+
+
+    /**
+     * 获取所有不合格用水信息
+     *
+     * @return
+     */
+    List<EnforceJobFireRoomDTO> enforceJobUseWaterList();
 }

+ 17 - 41
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/service/impl/enforce/obj/EnforceObjServiceImpl.java

@@ -108,8 +108,7 @@ public class EnforceObjServiceImpl extends ServiceImpl<EnforceObjMapper, Enforce
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void addObjTags(String id, InlineObjectDTO inlineObjectDTO) {
-        enforceObjTagService.remove(new QueryWrapper<EnforceObjTag>().lambda()
-                .eq(EnforceObjTag::getEnforceObjId, id));
+        enforceObjTagService.remove(new QueryWrapper<EnforceObjTag>().lambda().eq(EnforceObjTag::getEnforceObjId, id));
         EnforceObj oldObj = this.getById(id);
         if (StringUtils.isNull(oldObj)) {
             throw new ServiceException("无效的执法对象ID");
@@ -121,9 +120,7 @@ public class EnforceObjServiceImpl extends ServiceImpl<EnforceObjMapper, Enforce
             updateEs(id);
             return;
         }
-        List<Tag> tags = tagService.list(new QueryWrapper<Tag>().lambda()
-                .in(Tag::getId, tagIds)
-                .eq(Tag::getIsDeleted, DeleteStatusEnum.NOT_DELETED.getStatus()));
+        List<Tag> tags = tagService.list(new QueryWrapper<Tag>().lambda().in(Tag::getId, tagIds).eq(Tag::getIsDeleted, DeleteStatusEnum.NOT_DELETED.getStatus()));
         if (StringUtils.isEmpty(tags)) {
             return;
         }
@@ -220,11 +217,7 @@ public class EnforceObjServiceImpl extends ServiceImpl<EnforceObjMapper, Enforce
         List<String> placeType = enforceObjSearch.getPlaceType();
         String enforceOrgId = enforceObjSearch.getEnforceOrgIds();
         String enforceObjType = enforceObjSearch.getEnforceObjType();
-        List<EnforceObj> enforceObjs = baseMapper.selectList(new LambdaQueryWrapper<EnforceObj>()
-                .like(StringUtils.hasText(enforceObjName), EnforceObj::getEnforceObjName, enforceObjName)
-                .in(StringUtils.isNotEmpty(placeType), EnforceObj::getPlaceType, placeType)
-                .eq(StringUtils.isNotNull(enforceOrgId), EnforceObj::getEnforceOrgId, enforceOrgId)
-                .eq(StringUtils.isNotEmpty(enforceObjType), EnforceObj::getEnforceObjType, enforceObjType));
+        List<EnforceObj> enforceObjs = baseMapper.selectList(new LambdaQueryWrapper<EnforceObj>().like(StringUtils.hasText(enforceObjName), EnforceObj::getEnforceObjName, enforceObjName).in(StringUtils.isNotEmpty(placeType), EnforceObj::getPlaceType, placeType).eq(StringUtils.isNotNull(enforceOrgId), EnforceObj::getEnforceOrgId, enforceOrgId).eq(StringUtils.isNotEmpty(enforceObjType), EnforceObj::getEnforceObjType, enforceObjType));
         enforceObjs.forEach(item -> {
             SysDictData dictDataCache = userRedisCacheService.getDictDataCache(CacheConstants.PLACE_TYPE, item.getPlaceType());
             if (StringUtils.isNotNull(dictDataCache)) {
@@ -272,10 +265,7 @@ public class EnforceObjServiceImpl extends ServiceImpl<EnforceObjMapper, Enforce
         }
         // 执法机构信息修改时同步标签机构信息
         if (!enforceObj.getEnforceOrgId().equals(enforceObjDTO.getEnforceOrgId())) {
-            enforceObjTagService.update(new LambdaUpdateWrapper<EnforceObjTag>()
-                    .set(EnforceObjTag::getEnforceOrgId, enforceObjDTO.getEnforceOrgId())
-                    .eq(EnforceObjTag::getEnforceObjId, id)
-            );
+            enforceObjTagService.update(new LambdaUpdateWrapper<EnforceObjTag>().set(EnforceObjTag::getEnforceOrgId, enforceObjDTO.getEnforceOrgId()).eq(EnforceObjTag::getEnforceObjId, id));
         }
         enforceObjDTO.setId(id);
         //更新执法对象
@@ -348,8 +338,7 @@ public class EnforceObjServiceImpl extends ServiceImpl<EnforceObjMapper, Enforce
         }
         //item sum
         LambdaQueryWrapper<EnforceJobNodeItem> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(EnforceJobNodeItem::getEnforceObjId, id)
-                .eq(EnforceJobNodeItem::getCheckResult, 2);
+        wrapper.eq(EnforceJobNodeItem::getEnforceObjId, id).eq(EnforceJobNodeItem::getCheckResult, 2);
         Long itemSum = enforceJobNodeItemMapper.selectCount(wrapper);
         objDTO.setItemSum(itemSum.intValue());
         return Optional.of(objDTO);
@@ -807,14 +796,7 @@ public class EnforceObjServiceImpl extends ServiceImpl<EnforceObjMapper, Enforce
 //                .in(EnforceJob::getJobType, Arrays.asList(JobTypeEnum.NORMAL.getValue(), JobTypeEnum.SPECIAL.getValue()))
 //                .eq(EnforceJob::getIsDeleted, 0));
 
-        final List<EnforceJob> enforceJobs = enforceJobService.getBaseMapper().selectList(new QueryWrapper<EnforceJob>()
-                .lambda()
-                .eq(EnforceJob::getEnforceObjId, objId)
-                .in(EnforceJob::getJobType, Arrays.asList(JobTypeEnum.NORMAL.getValue(), JobTypeEnum.SPECIAL.getValue()))
-                .eq(EnforceJob::getIsDeleted, 0)
-                .and(wrapper -> wrapper.eq(EnforceJob::getJobStatus, JobStatusEnum.TODO.getValue())
-                        .or()
-                        .eq(EnforceJob::getJobStatus, JobStatusEnum.DOING.getValue())));
+        final List<EnforceJob> enforceJobs = enforceJobService.getBaseMapper().selectList(new QueryWrapper<EnforceJob>().lambda().eq(EnforceJob::getEnforceObjId, objId).in(EnforceJob::getJobType, Arrays.asList(JobTypeEnum.NORMAL.getValue(), JobTypeEnum.SPECIAL.getValue())).eq(EnforceJob::getIsDeleted, 0).and(wrapper -> wrapper.eq(EnforceJob::getJobStatus, JobStatusEnum.TODO.getValue()).or().eq(EnforceJob::getJobStatus, JobStatusEnum.DOING.getValue())));
         if (CollectionUtils.isEmpty(enforceJobs)) {
             return;
         }
@@ -913,9 +895,7 @@ public class EnforceObjServiceImpl extends ServiceImpl<EnforceObjMapper, Enforce
      * @return Integer
      */
     private Integer countByOrgId(String enforceOrgId, String enforceObjType) {
-        LambdaQueryWrapper<EnforceObj> eq = new QueryWrapper<EnforceObj>().lambda()
-                .eq(EnforceObj::getEnforceOrgId, enforceOrgId)
-                .eq(EnforceObj::getIsDeleted, DeleteStatusEnum.NOT_DELETED.getStatus());
+        LambdaQueryWrapper<EnforceObj> eq = new QueryWrapper<EnforceObj>().lambda().eq(EnforceObj::getEnforceOrgId, enforceOrgId).eq(EnforceObj::getIsDeleted, DeleteStatusEnum.NOT_DELETED.getStatus());
         if (StringUtils.isNoneBlank(enforceObjType)) {
             eq.eq(EnforceObj::getEnforceObjType, enforceObjType);
         }
@@ -929,8 +909,7 @@ public class EnforceObjServiceImpl extends ServiceImpl<EnforceObjMapper, Enforce
      * @return List<TagDTO>
      */
     private List<TagDTO> listTags(String id) {
-        List<EnforceObjTag> objTags = enforceObjTagService.list(new QueryWrapper<EnforceObjTag>().lambda()
-                .eq(EnforceObjTag::getEnforceObjId, id));
+        List<EnforceObjTag> objTags = enforceObjTagService.list(new QueryWrapper<EnforceObjTag>().lambda().eq(EnforceObjTag::getEnforceObjId, id));
         if (CollectionUtils.isEmpty(objTags)) {
             return Collections.emptyList();
         }
@@ -938,9 +917,7 @@ public class EnforceObjServiceImpl extends ServiceImpl<EnforceObjMapper, Enforce
         if (StringUtils.isEmpty(tagIds)) {
             return new ArrayList<TagDTO>();
         }
-        List<Tag> tags = tagService.list(new QueryWrapper<Tag>().lambda()
-                .in(Tag::getId, tagIds)
-                .eq(Tag::getIsDeleted, DeleteStatusEnum.NOT_DELETED.getStatus()));
+        List<Tag> tags = tagService.list(new QueryWrapper<Tag>().lambda().in(Tag::getId, tagIds).eq(Tag::getIsDeleted, DeleteStatusEnum.NOT_DELETED.getStatus()));
         List<TagDTO> leafTags = tags.stream().map(o -> {
             TagDTO tagDTO = new TagDTO();
             BeanUtils.copyProperties(o, tagDTO);
@@ -951,9 +928,7 @@ public class EnforceObjServiceImpl extends ServiceImpl<EnforceObjMapper, Enforce
         if (StringUtils.isEmpty(rootTagIds)) {
             return new ArrayList<TagDTO>();
         }
-        List<Tag> rootTags = tagService.list(new QueryWrapper<Tag>().lambda()
-                .in(Tag::getId, rootTagIds)
-                .eq(Tag::getIsDeleted, DeleteStatusEnum.NOT_DELETED.getStatus()));
+        List<Tag> rootTags = tagService.list(new QueryWrapper<Tag>().lambda().in(Tag::getId, rootTagIds).eq(Tag::getIsDeleted, DeleteStatusEnum.NOT_DELETED.getStatus()));
         List<TagDTO> tagDTOS = rootTags.stream().map(o -> {
             TagDTO tagDTO = new TagDTO();
             BeanUtils.copyProperties(o, tagDTO);
@@ -1001,9 +976,7 @@ public class EnforceObjServiceImpl extends ServiceImpl<EnforceObjMapper, Enforce
     public JSONObject listOrganizationByCreditCode(String creditCode, Integer current, Integer size) {
         String uri = "http://jsfw.cq119.gov.cn/api/agency-service/agency_xf/api/organization/" + creditCode + "/organization/list";
         String url = uri + "?current=" + current + "&size=" + size;
-        String response = HttpUtil.createGet(url)
-                .execute()
-                .body();
+        String response = HttpUtil.createGet(url).execute().body();
         return JSON.parseObject(response);
     }
 
@@ -1011,9 +984,7 @@ public class EnforceObjServiceImpl extends ServiceImpl<EnforceObjMapper, Enforce
     public JSONObject maintenanceRecordByCreditCode(String creditCode, Integer current, Integer size) {
         String uri = "http://jsfw.cq119.gov.cn/api/agency-service/agency_xf/api/organization//record/" + creditCode + "/list";
         String url = uri + "?current=" + current + "&size=" + size;
-        String response = HttpUtil.createGet(url)
-                .execute()
-                .body();
+        String response = HttpUtil.createGet(url).execute().body();
         return JSON.parseObject(response);
     }
 
@@ -1021,4 +992,9 @@ public class EnforceObjServiceImpl extends ServiceImpl<EnforceObjMapper, Enforce
     public List<EnforceJobFireRoomDTO> enforceJobFireRoomList() {
         return this.baseMapper.getEnforceJobFireRoom();
     }
+
+    @Override
+    public List<EnforceJobFireRoomDTO> enforceJobUseWaterList() {
+        return this.baseMapper.getEnforceJobUseWaterList();
+    }
 }

+ 62 - 0
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/sync/remote/DefaultLjZfjgSyncDataService.java

@@ -69,6 +69,8 @@ public class DefaultLjZfjgSyncDataService implements ILjZfjgSyncDataService {
     private Boolean enabled;
     @Value("${data.sync.fireRoomEnable}")
     private Boolean fireRoomEnable;
+    @Value("${data.sync.useWaterEnable}")
+    private Boolean useWaterEnable;
     @Resource
     private CommMapper commMapper;
     private final RestTemplate restTemplate;
@@ -429,6 +431,66 @@ public class DefaultLjZfjgSyncDataService implements ILjZfjgSyncDataService {
         }
     }
 
+    public void updateUseWater() {
+        if (!useWaterEnable) {
+            return;
+        }
+        List<EnforceJobFireRoomDTO> enforceJobFireRoomDTOS = enforceObjServiceExtend.enforceJobUseWaterList();
+        if (enforceJobFireRoomDTOS.isEmpty()) {
+            log.error("未找到不合格的消防给水设施");
+            return;
+        }
+        log.info("找到不合格的消防给水设施{}", enforceJobFireRoomDTOS);
+        Map<String, List<EnforceJobFireRoomDTO>> stringStringMap = enforceJobFireRoomDTOS.stream().collect(Collectors.groupingBy(EnforceJobFireRoomDTO::getEnforceObjId));
+        List<String> ids = enforceJobFireRoomDTOS.stream().map(EnforceJobFireRoomDTO::getEnforceObjId).collect(Collectors.toList());
+        List<EnforceObj> enforceObjs = enforceObjService.listByIds(ids);
+        log.info("找到不合格的消防给水设施执法对象{}", enforceObjs);
+        for (EnforceObj enforceObj : enforceObjs) {
+            String eventCondition = " ";
+            System.out.println(enforceObj.getEnforceObjName() + " 发送找到不合格的消防给水设施执法对象情形为: " + eventCondition);
+
+            if (!stringStringMap.containsKey(enforceObj.getId())) {
+                log.error("找到不合格的消防给水设施执法对象发送数据到IRS交互应用找不到ID");
+                continue;
+            }
+            List<EnforceJobFireRoomDTO> jobFireRoomDTOS = stringStringMap.get(enforceObj.getId());
+            String jobId = jobFireRoomDTOS.stream().filter(it -> StringUtils.isNoneBlank(it.getJobId())).map(EnforceJobFireRoomDTO::getJobId).findFirst().get();
+            EnforceJob enforceJob = enforceJobService.getById(jobId);
+
+            JSONObject response = GaoDeMapUtil.geoEncode(enforceJob.getStartLongitude(), enforceJob.getStartLatitude());
+            String streetName = Optional.ofNullable(response).filter(it -> it.containsKey("regeocode")).map(it -> it.getJSONObject("regeocode")).filter(it -> it.containsKey("addressComponent")).map(it -> it.getJSONObject("addressComponent")).filter(it -> it.containsKey("township")).map(it -> it.getString("township")).orElse("");
+            if (StringUtils.isBlank(streetName)) {
+                System.out.println(enforceObj.getEnforceObjName() + "发送找到不合格的消防给水设施执法对象IRS交互应用找不到街道");
+                continue;
+            }
+            String areaName = Optional.ofNullable(response).filter(it -> it.containsKey("regeocode")).map(it -> it.getJSONObject("regeocode")).filter(it -> it.containsKey("addressComponent")).map(it -> it.getJSONObject("addressComponent")).filter(it -> it.containsKey("district")).map(it -> it.getString("district")).orElse("");
+            StartEventDto startEventDto = new StartEventDto();
+            startEventDto.setAreaName(areaName);
+            startEventDto.setEventCondition(eventCondition);
+            startEventDto.setEventType(6);
+            startEventDto.setBelongCounty("");
+            String itemNames = jobFireRoomDTOS.stream().map(EnforceJobFireRoomDTO::getItemName).filter(StringUtils::isNoneBlank).reduce((s1, s2) -> s1 + "," + s2).orElse("");
+            itemNames += jobFireRoomDTOS.stream().map(EnforceJobFireRoomDTO::getItemContent).filter(StringUtils::isNoneBlank).reduce((s1, s2) -> s1 + "," + s2).orElse("");
+            startEventDto.setEventContent(enforceObj.getEnforceObjName() + ":不合格的消防给水设施执法项目: " + itemNames);
+            startEventDto.setEventTitle(enforceObj.getEnforceObjName() + ":不合格的消防给水设施执法项目: " + itemNames);
+            startEventDto.setProcessId(" ");
+            startEventDto.setSource("zfjg");
+            startEventDto.setAddress(enforceObj.getEnforceObjAddress());
+            startEventDto.setStreetName(streetName);
+            startEventDto.setPhoneNumber(enforceObj.getContactPhone());
+            startEventDto.setLon(enforceJob.getStartLongitude());
+            startEventDto.setLat(enforceJob.getStartLatitude());
+
+            Map<String, Object> param = BeanUtil.beanToMap(startEventDto, false, true);
+            log.info("单位发送至发送数据到IRS交互应用参数: {}", JSON.toJSONString(param));
+
+            String startEventString = HttpUtil.createPost("http://183.66.101.165:9408/api/event/start/v1").body(JSON.toJSONString(param)).execute().sync().body();
+            System.out.println("单位发送至发送数据到IRS交互应用: " + startEventString);
+            log.info("单位发送至发送数据到IRS交互应用: {}", startEventString);
+
+        }
+    }
+
     private HttpHeaders auth(HttpHeaders requestHeaders) {
         requestHeaders.set("Content-type", "application/json; charset=utf-8");
         return requestHeaders;

+ 5 - 0
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/sync/remote/ILjZfjgSyncDataService.java

@@ -73,4 +73,9 @@ public interface ILjZfjgSyncDataService {
      * 消控室一件事
      */
     void updateFireRoom();
+
+    /**
+     * 用水一件事
+     */
+    void updateUseWater();
 }

+ 12 - 0
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/task/job/EnforceJobTask.java

@@ -112,10 +112,22 @@ public class EnforceJobTask {
         }
     }
 
+
+    @Scheduled(cron = "0 20 0 * * ?")
+    public void updateUseWater() {
+        log.info("每日用水一件事儿");
+        ljZfjgSyncDataService.updateUseWater();
+    }
+
+
     @Scheduled(cron = "0 20 0 * * ?")
     public void updateFireRoom() {
         log.info("每日执行消控室一件事儿");
         ljZfjgSyncDataService.updateFireRoom();
+
+        //fixme: 此处暂时不开放注释掉
+//        log.info("每日用水一件事儿");
+//        ljZfjgSyncDataService.updateUseWater();
     }
 
     // 每天早上九点发送短信通知

+ 25 - 0
zfjg-modules/zfjg-manage/src/main/resources/mapper/enforce/obj/EnforceObjMapper.xml

@@ -289,4 +289,29 @@
 
 
 
+    <select id="getEnforceJobUseWaterList" resultType="com.zfjg.manage.api.dto.enforce.job.EnforceJobFireRoomDTO">
+        SELECT DISTINCT enforce_obj_id,
+                        job_id,
+                        item_name,
+                        item_content
+        FROM enforce_job_node_item
+        WHERE TO_DAYS(
+                      NOW()) - TO_DAYS(update_time) <![CDATA[ <= ]]> 0
+          AND enforce_obj_class IN ('消防设施器材-消防给水设施', '消防设施器材')
+          AND check_result = 2
+          AND is_deleted = 0
+        UNION
+        SELECT DISTINCT enforce_obj_id,
+                        job_id,
+                        item_name,
+                        item_content
+        FROM enforce_job_node_item
+        WHERE TO_DAYS(
+                      NOW()) - TO_DAYS(update_time) <![CDATA[ <= ]]> 0
+          AND item_content IN ("消防水池","消防水泵","室内消火栓","室外消火栓","水泵接合器","稳压设施","消防水箱","报警阀","末端试水装置")
+          AND check_result = 2
+          AND is_deleted = 0;
+
+    </select>
+
 </mapper>