puhanshu
2021-12-31 5a4a13ac1c20f78fce105f260b23fe309b26c905
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);
    }
@@ -396,6 +408,7 @@
                option.add("社区矫正异常3");
                option.add("社区矫正异常4");
            }
            option.add("无异常");
        }
        return option;
    }
@@ -469,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("请选择异常状态");
//                }
            }
        }
@@ -586,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;
    }
}