From af21084fa4d1e5f8432f61fbd26a3e4e99495616 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 11 Jan 2024 18:03:49 +0800
Subject: [PATCH] 三色任务完善
---
src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java | 293 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 252 insertions(+), 41 deletions(-)
diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
index 73c5687..4c7bdfa 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java
@@ -16,20 +16,26 @@
*/
package org.springblade.modules.task.service.impl;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.apache.commons.lang3.StringUtils;
+import org.jetbrains.annotations.NotNull;
import org.springblade.common.constant.DictConstant;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.category.entity.CategoryEntity;
import org.springblade.modules.category.service.ICategoryService;
+import org.springblade.modules.grid.entity.GridWorkLogEntity;
+import org.springblade.modules.grid.service.IGridWorkLogService;
import org.springblade.modules.house.service.IHouseRentalService;
import org.springblade.modules.house.service.IHouseholdService;
import org.springblade.modules.house.vo.HouseRentalTenantVO;
+import org.springblade.modules.house.vo.HouseholdVO;
import org.springblade.modules.place.service.IPlaceExtService;
import org.springblade.modules.place.service.IPlaceService;
import org.springblade.modules.place.vo.PlaceVO;
@@ -43,10 +49,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -75,6 +78,15 @@
@Autowired
private ITaskCampusReportingEventService taskCampusReportingEventService;
+
+ @Autowired
+ private ITaskLabelReportingEventService taskLabelReportingEventService;
+
+ @Autowired
+ private ITaskHotelReportingService taskHotelReportingService;
+
+ @Autowired
+ private IGridWorkLogService gridWorkLogService;
@Override
public IPage<TaskVO> selectTaskPage(IPage<TaskVO> page, TaskVO task) {
@@ -284,48 +296,247 @@
/**
* 根据类型创建任务
- * @param reportType 任务/事件类型
- * @param color 参数
+ * @param param 参数
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public boolean createTaskJob(Integer reportType, String color) {
+ public boolean createTaskJob(String param) {
+ // 解析参数
+ JSONObject jsonParam = JSON.parseObject(param);
+// String params = jsonParam.getString("params");
boolean flag = false;
- if (reportType==6){
- // 校园安全自查,查询标签为教育的场所 parentNo = 1601
- String parentNo = "1601";
- QueryWrapper<CategoryEntity> wrapper = new QueryWrapper<>();
- wrapper.eq("is_deleted",0).eq("parent_no",parentNo);
- List<CategoryEntity> categoryEntityList = categoryService.list(wrapper);
- // 取出编号集合
- List<String> stringList = categoryEntityList.stream().map(categoryEntity -> categoryEntity.getCategoryNo()).collect(Collectors.toList());
- // 根据编号集合查询对应的场所
- List<PlaceVO> placeVOList = placeService.getPlaceListByParam(stringList,color);
- // 生成任务
- for (PlaceVO placeVO : placeVOList) {
- TaskEntity taskEntity = new TaskEntity();
- taskEntity.setType(1);
- taskEntity.setName(DictConstant.CAMPUS_SECURITY_INSPECTION);
- taskEntity.setFrequency(2);
- taskEntity.setCreateTime(new Date());
- taskEntity.setHouseCode(placeVO.getHouseCode());
- taskEntity.setReportType(reportType);
- // 新增
- flag = save(taskEntity);
- // 同时新增校园安全检查任务
- TaskCampusReportingEventEntity campusReportingEventEntity = new TaskCampusReportingEventEntity();
- campusReportingEventEntity.setTaskId(taskEntity.getId());
- campusReportingEventEntity.setPlaceId(placeVO.getId());
- campusReportingEventEntity.setCheckUserId(placeVO.getPrincipalUserId());
- campusReportingEventEntity.setCheckUserName(placeVO.getPrincipal());
- campusReportingEventEntity.setCheckTelephone(placeVO.getPrincipalPhone());
- // 系统下发
- campusReportingEventEntity.setSource(2);
- // 新增
- taskCampusReportingEventService.save(campusReportingEventEntity);
- }
- }
+ // 校园安全自查任务生成
+ createCampusReportingTask();
+ // 打金店/二手车/二手手机任务生成
+ createLabelReportingTask();
+ // 旅馆安全自查任务生成
+ createHotelReportingTask();
+ // 人员类-肇事肇祸精神障碍患者走访任务生成
+ createGridWordTask();
+ // 返回
return flag;
}
+
+
+ /**
+ * 人员类-肇事肇祸精神障碍患者走访任务生成
+ */
+ public void createGridWordTask() {
+ // 肇事肇祸精神障碍患者走访任务生成,查询标签为:20
+ List<Integer> list = new ArrayList<Integer>(){{
+ add(20);
+ }};
+ // 根据人员标签编号集合查询对应的住户(按颜色区分近多少天没有发过任务的住户)
+ List<HouseholdVO> householdVOList = iHouseholdService.getHouseholdListByParam(list);
+ // 生成任务
+ for (HouseholdVO household : householdVOList) {
+ // 新增走访任务
+ saveGridWordTask(household);
+ }
+ }
+
+ /**
+ * 新增走访任务
+ * @param household
+ */
+ public void saveGridWordTask(HouseholdVO household) {
+ GridWorkLogEntity gridWorkLogEntity = new GridWorkLogEntity();
+ gridWorkLogEntity.setHouseholdId(household.getId());
+ gridWorkLogEntity.setType(2);
+ gridWorkLogEntity.setPersonType(20);
+ // 系统下发
+ gridWorkLogEntity.setSource(2);
+ // 新增
+ gridWorkLogService.save(gridWorkLogEntity);
+ }
+
+ /**
+ * 打金店/二手车/二手手机任务生成
+ */
+ public void createLabelReportingTask() {
+ // 打金店/二手车/二手手机任务生成,标签:130808/140304/130604
+ List<String> stringList = new ArrayList<String>(){{
+ add("130808");
+ add("140304");
+ add("130604");
+ }};
+ String tableName = "jczz_task_label_reporting_event";
+ // 根据编号集合查询对应的场所(按颜色区分近多少天没有发过任务的场所)
+ List<PlaceVO> placeVOList = placeService.getPlaceListByParam(stringList,tableName);
+ // 生成任务
+ for (PlaceVO placeVO : placeVOList) {
+ String taskName = "";
+ Integer reportType = 3;
+ if (placeVO.getLabel().equals("130808")){
+ taskName = DictConstant.DA_JIN_DIAN;
+ reportType = 3;
+ }
+ if (placeVO.getLabel().equals("130604")){
+ taskName = DictConstant.USED_MOBILE_PHONES;
+ reportType = 4;
+ }
+ if (placeVO.getLabel().equals("140304")){
+ taskName = DictConstant.USED_CAR;
+ reportType = 5;
+ }
+ // 新增任务
+ TaskEntity taskEntity = saveTaskEntity(placeVO.getHouseCode(), 1, taskName, 2, reportType);
+ // 同时新增打金店/二手车/二手手机任务
+ saveGoldShop(placeVO, taskEntity,taskName,reportType);
+ }
+ }
+
+ /**
+ * 旅馆安全自查任务生成
+ */
+ public void createHotelReportingTask() {
+ // 旅馆标签为
+ List<String> stringList = new ArrayList<String>(){{
+ add("120101");
+ add("120102");
+ add("120103");
+ add("120104");
+ }};
+ String tableName = "jczz_task_hotel_reporting";
+ // 根据编号集合查询对应的场所(按颜色区分近多少天没有发过任务的场所)
+ List<PlaceVO> placeVOList = placeService.getPlaceListByParam(stringList,tableName);
+ // 生成任务
+ for (PlaceVO placeVO : placeVOList) {
+ // 新增任务
+ TaskEntity taskEntity = saveTaskEntity(placeVO.getHouseCode(), 1, DictConstant.HOTEL_SECURITY, 2, 2);
+ // 同时新增校园安全检查任务
+ saveHotel(placeVO, taskEntity);
+ }
+ }
+
+ /**
+ * 校园安全自查任务生成
+ */
+ public void createCampusReportingTask() {
+ // 校园安全自查,查询标签为教育的场所 parentNo = 1601
+ String parentNo = "1601";
+ QueryWrapper<CategoryEntity> wrapper = new QueryWrapper<>();
+ wrapper.eq("is_deleted",0).eq("parent_no",parentNo);
+ List<CategoryEntity> categoryEntityList = categoryService.list(wrapper);
+ // 取出编号集合
+ List<String> stringList = categoryEntityList.stream().map(categoryEntity -> categoryEntity.getCategoryNo()).collect(Collectors.toList());
+ // 根据编号集合查询对应的场所(按颜色区分近多少天没有发过任务的场所)
+ String tableName = "jczz_task_campus_reporting_event";
+ List<PlaceVO> placeVOList = placeService.getPlaceListByParam(stringList,tableName);
+ // 生成任务
+ for (PlaceVO placeVO : placeVOList) {
+ // 新增任务
+ TaskEntity taskEntity = saveTaskEntity(placeVO.getHouseCode(), 1, DictConstant.CAMPUS_SECURITY_INSPECTION, 2, 6);
+ // 同时新增校园安全检查任务
+ saveCampus(placeVO, taskEntity);
+ }
+ }
+
+ /**
+ * 新增校园安全检查任务
+ * @param placeVO
+ * @param taskEntity
+ */
+ private void saveCampus(PlaceVO placeVO, TaskEntity taskEntity) {
+ TaskCampusReportingEventEntity campusReportingEventEntity = new TaskCampusReportingEventEntity();
+ campusReportingEventEntity.setTaskId(taskEntity.getId());
+ campusReportingEventEntity.setPlaceId(placeVO.getId());
+ campusReportingEventEntity.setCampusName(placeVO.getPlaceName());
+ campusReportingEventEntity.setCheckUserId(placeVO.getPrincipalUserId());
+ campusReportingEventEntity.setCheckUserName(placeVO.getPrincipal());
+ campusReportingEventEntity.setCheckTelephone(placeVO.getPrincipalPhone());
+ // 系统下发
+ campusReportingEventEntity.setSource(2);
+ // 待完善
+ campusReportingEventEntity.setConfirmFlag("4");
+ // 新增
+ taskCampusReportingEventService.save(campusReportingEventEntity);
+ }
+
+ /**
+ * 新增旅馆安全检查任务
+ * @param placeVO
+ * @param taskEntity
+ */
+ private void saveHotel(PlaceVO placeVO, TaskEntity taskEntity) {
+ TaskHotelReportingEntity taskHotelReportingEntity = new TaskHotelReportingEntity();
+ taskHotelReportingEntity.setTaskId(taskEntity.getId());
+ taskHotelReportingEntity.setPlaceId(placeVO.getId());
+ taskHotelReportingEntity.setHotelName(placeVO.getPlaceName());
+ taskHotelReportingEntity.setCheckUserId(placeVO.getPrincipalUserId());
+ taskHotelReportingEntity.setCheckUserName(placeVO.getPrincipal());
+ taskHotelReportingEntity.setCheckTelephone(placeVO.getPrincipalPhone());
+ // 系统下发
+ taskHotelReportingEntity.setSource(2);
+ // 待完善
+ taskHotelReportingEntity.setConfirmFlag("4");
+ // 新增
+ taskHotelReportingService.save(taskHotelReportingEntity);
+ }
+
+
+ /**
+ * 新增打金店/二手车/二手手机任务
+ * @param placeVO
+ * @param taskEntity
+ * @param taskName
+ * @param reportType
+ */
+ private void saveGoldShop(PlaceVO placeVO, TaskEntity taskEntity,String taskName,Integer reportType) {
+ TaskLabelReportingEventEntity taskLabelReportingEventEntity = new TaskLabelReportingEventEntity();
+ taskLabelReportingEventEntity.setTaskId(taskEntity.getId());
+ taskLabelReportingEventEntity.setPlaceId(placeVO.getId());
+ taskLabelReportingEventEntity.setDistrictName(placeVO.getPlaceName());
+ taskLabelReportingEventEntity.setUserId(placeVO.getPrincipalUserId());
+ taskLabelReportingEventEntity.setOwner(placeVO.getPrincipal());
+ taskLabelReportingEventEntity.setPhoneNumber(placeVO.getPrincipalPhone());
+ taskLabelReportingEventEntity.setLabelName(taskName);
+ // 打金店
+ if (reportType==3){
+ taskLabelReportingEventEntity.setEventType("1");
+ }
+ // 二手车
+ if (reportType==4){
+ taskLabelReportingEventEntity.setEventType("3");
+ }
+ // 二手手机
+ if (reportType==5){
+ taskLabelReportingEventEntity.setEventType("2");
+ }
+ taskLabelReportingEventEntity.setEventType(taskName);
+ // 系统下发
+ taskLabelReportingEventEntity.setSource(2);
+ // 待完善
+ taskLabelReportingEventEntity.setConfirmFlag("4");
+ // 新增
+ taskLabelReportingEventService.save(taskLabelReportingEventEntity);
+ }
+
+ /**
+ * 插入任务信息
+ * @param houseCode
+ * @param type
+ * @param taskName
+ * @param frequency
+ * @param reportType
+ * @return
+ */
+ private TaskEntity saveTaskEntity(String houseCode,
+ Integer type,
+ String taskName,
+ Integer frequency,
+ Integer reportType) {
+ TaskEntity taskEntity = new TaskEntity();
+ taskEntity.setType(type);
+ taskEntity.setName(taskName);
+ taskEntity.setFrequency(frequency);
+ taskEntity.setCreateTime(new Date());
+ taskEntity.setHouseCode(houseCode);
+ taskEntity.setReportType(reportType);
+ // 新增
+ save(taskEntity);
+ // 返回
+ return taskEntity;
+ }
}
--
Gitblit v1.9.3