From c3811d01d1929a98a0f34f70ca187d82ee312dbb Mon Sep 17 00:00:00 2001
From: manailin <261030956@qq.com>
Date: 星期三, 03 十一月 2021 17:26:50 +0800
Subject: [PATCH] Merge branch 'test' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into test

---
 springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventVisitingTasksServiceImpl.java |  109 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 98 insertions(+), 11 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventVisitingTasksServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventVisitingTasksServiceImpl.java
index 9993159..8c6fb6f 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventVisitingTasksServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/EventVisitingTasksServiceImpl.java
@@ -4,6 +4,9 @@
 
 import javax.annotation.Resource;
 
+import com.panzhihua.common.model.vos.community.ComMngPopulationCommunityTagsVo;
+import com.panzhihua.common.utlis.DateUtils;
+import com.panzhihua.common.utlis.LabelUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -171,6 +174,10 @@
                 eventVisitingTasksVO
                     .setNation(PopulPoliticalOutlookEnum.getCnDescByName(eventVisitingTasksVO.getNationCode()));
             }
+            //查询该人口的标签
+            List<ComMngPopulationCommunityTagsVo> communityTagsList = this.baseMapper.getCommunityTagList(eventVisitingTasksVO.getVisiterId());
+            String label = LabelUtils.assembleLabel(communityTagsList);
+            eventVisitingTasksVO.setLabel(label);
         }
         return R.ok(page);
     }
@@ -185,6 +192,11 @@
                 eventVisitingTasksVO
                     .setNation(PopulPoliticalOutlookEnum.getCnDescByName(eventVisitingTasksVO.getNationCode()));
             }
+
+            //查询该人口的标签
+            List<ComMngPopulationCommunityTagsVo> communityTagsList = this.baseMapper.getCommunityTagList(eventVisitingTasksVO.getVisiterId());
+            String label = LabelUtils.assembleLabel(communityTagsList);
+            eventVisitingTasksVO.setLabel(label);
         }
         return R.ok(page);
     }
@@ -241,22 +253,28 @@
     }
 
     @Override
-    public R detail(Long id) throws Exception {
+    public R detail(Long id){
         EventVisitingTasksDO eventVisitingTasksDO = eventVisitingTasksMapper.selectById(id);
         if (eventVisitingTasksDO != null) {
             EventVisitingTasksDetailsVO eventVisitingTasksDetailsVO = new EventVisitingTasksDetailsVO();
             BeanUtils.copyProperties(eventVisitingTasksDO, eventVisitingTasksDetailsVO);
             if (StringUtils.isNotEmpty(eventVisitingTasksDO.getVisiterTele())) {
-                eventVisitingTasksDetailsVO
-                    .setVisiterPhone(AESUtil.decrypt128(eventVisitingTasksDO.getVisiterTele(), aesKey));
-                eventVisitingTasksDetailsVO
-                    .setVisiterTele(AESUtil.decrypt128(eventVisitingTasksDO.getVisiterTele(), aesKey));
+                try {
+                    eventVisitingTasksDetailsVO
+                            .setVisiterPhone(AESUtil.decrypt128(eventVisitingTasksDO.getVisiterTele(), aesKey));
+                    eventVisitingTasksDetailsVO
+                            .setVisiterTele(AESUtil.decrypt128(eventVisitingTasksDO.getVisiterTele(), aesKey));
+                }catch (Exception e){
+                    log.error("手机号码转义失败");
+                }
             }
-            JSONObject jsonObject = JSONObject.parseObject(eventVisitingTasksDO.getTableContentJson());
-            eventVisitingTasksDetailsVO
-                .setTableContentJson(JSONObject.parseObject(eventVisitingTasksDO.getTableContentJson()));
-            if (jsonObject != null && jsonObject.get("check") != null) {
-                eventVisitingTasksDetailsVO.setOption(jsonObject.get("check").toString());
+            if(StringUtils.isNotEmpty(eventVisitingTasksDO.getTableContentJson())){
+                JSONObject jsonObject = JSONObject.parseObject(eventVisitingTasksDO.getTableContentJson());
+                eventVisitingTasksDetailsVO
+                        .setTableContentJson(JSONObject.parseObject(eventVisitingTasksDO.getTableContentJson()));
+                if (jsonObject != null && jsonObject.get("check") != null) {
+                    eventVisitingTasksDetailsVO.setOption(jsonObject.get("check").toString());
+                }
             }
 
             // 查询资源文件
@@ -390,6 +408,7 @@
                 option.add("社区矫正异常3");
                 option.add("社区矫正异常4");
             }
+            option.add("无异常");
         }
         return option;
     }
@@ -463,9 +482,12 @@
         String label = this.baseMapper.getPopulationLabel(eventVisitingTasksDO.getVisiterId());
         if (StringUtils.isNotEmpty(label)) {
             if (label.contains("精神障碍") || label.contains("吸毒") || label.contains("刑满释放") || label.contains("社区矫正")) {
-                if (StringUtils.isNotEmpty(taskCompleteDTO.getOption())) {
+                if(taskCompleteDTO.getException().equals(EventVisitingTasksDO.exception.yes) && StringUtils.isNotEmpty(taskCompleteDTO.getOption())){
                     return R.fail("请选择异常状态");
                 }
+//                if (StringUtils.isNotEmpty(taskCompleteDTO.getOption())) {
+//                    return R.fail("请选择异常状态");
+//                }
             }
         }
 
@@ -580,4 +602,69 @@
         return false;
     }
 
+    /**
+     * 定时任务-给上月已走访的人员创建定时任务
+     * @return  执行结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R timedTaskVisitingJobHandler(){
+
+        //需要创建的走访任务列表
+        List<EventVisitingTasksDO> saveList = new ArrayList<>();
+
+        //获取上月第一天时间
+        Date lastMonthFirst = DateUtils.getLastMonthFirst();
+        //获取上月最后一天时间
+        Date lastMonthEnd = DateUtils.getLastMonthEnd();
+
+        //查询上月已走访任务
+        List<EventVisitingTasksDO> visitingTasksList = this.baseMapper.selectList(new QueryWrapper<EventVisitingTasksDO>().lambda()
+                .eq(EventVisitingTasksDO::getEventStatus,EventVisitingTasksDO.eventStatus.yzf)
+                .ge(EventVisitingTasksDO::getSubmitDate,lastMonthFirst)
+                .le(EventVisitingTasksDO::getSubmitDate,lastMonthEnd));
+
+        visitingTasksList.forEach(visitingTask -> {
+            EventVisitingTasksDO visitingTasksDO = dataConversion(visitingTask);
+            saveList.add(visitingTasksDO);
+        });
+
+        if(saveList.size() > 0){
+            this.saveBatch(saveList);
+        }
+        return R.ok();
+    }
+
+    /**
+     * 数据转换
+     * @param oldVisitingTasksDO    请求参数
+     * @return  转换后的对象
+     */
+    private EventVisitingTasksDO dataConversion(EventVisitingTasksDO oldVisitingTasksDO){
+        //创建走访任务新对象
+        EventVisitingTasksDO visitingTasksDO = new EventVisitingTasksDO();
+        visitingTasksDO.setGridId(oldVisitingTasksDO.getGridId());
+        visitingTasksDO.setGridMemberCommunity(oldVisitingTasksDO.getGridMemberCommunity());
+        visitingTasksDO.setGridMemberStreet(oldVisitingTasksDO.getGridMemberStreet());
+        visitingTasksDO.setVisiterId(oldVisitingTasksDO.getVisiterId());
+        visitingTasksDO.setVisiterName(oldVisitingTasksDO.getVisiterName());
+        visitingTasksDO.setVisiterSex(oldVisitingTasksDO.getVisiterSex());
+        visitingTasksDO.setVisiterTele(oldVisitingTasksDO.getVisiterTele());
+        visitingTasksDO.setVisiterAddress(oldVisitingTasksDO.getVisiterAddress());
+        visitingTasksDO.setVisiterType(0);
+        visitingTasksDO.setActOpara(0);
+        visitingTasksDO.setHappentLatLng(oldVisitingTasksDO.getHappentLatLng());
+        visitingTasksDO.setEventStatus(EventTasksStatusEnum.DZF.getCode());
+        visitingTasksDO.setReporting(0);
+        visitingTasksDO.setInvalid(false);
+        visitingTasksDO.setUrgent(false);
+        visitingTasksDO.setUrgentDell(false);
+        visitingTasksDO.setCreateBy(oldVisitingTasksDO.getCreateBy());
+        visitingTasksDO.setOutOrLocal(oldVisitingTasksDO.getOutOrLocal());
+        if(oldVisitingTasksDO.getTableContentJson() != null){
+            visitingTasksDO.setTableContentJson(oldVisitingTasksDO.getTableContentJson());
+        }
+        return visitingTasksDO;
+    }
+
 }

--
Gitblit v1.7.1