From ced3a95b1d42c70453fdca63ce67af2ae3fa014e Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 20 Mar 2024 11:54:27 +0800
Subject: [PATCH] 住户导入修改

---
 src/main/java/org/springblade/modules/task/service/impl/TaskServiceImpl.java |  562 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 537 insertions(+), 25 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 0f50c30..d822729 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,44 @@
  */
 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.xmlbeans.impl.xb.xsdschema.Public;
-import org.springblade.core.mp.base.BaseServiceImpl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.springblade.common.constant.DictConstant;
+import org.springblade.common.param.CommonParamSet;
+import org.springblade.common.utils.SpringUtils;
 import org.springblade.core.secure.utils.AuthUtil;
-import org.springblade.modules.task.entity.TaskEntity;
+import org.springblade.modules.category.entity.CategoryEntity;
+import org.springblade.modules.category.service.ICategoryService;
+import org.springblade.modules.grid.entity.GridEntity;
+import org.springblade.modules.grid.entity.GridWorkLogEntity;
+import org.springblade.modules.grid.service.IGridService;
+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;
+import org.springblade.modules.task.entity.*;
 import org.springblade.modules.task.mapper.TaskMapper;
-import org.springblade.modules.task.service.ITaskService;
+import org.springblade.modules.task.service.*;
 import org.springblade.modules.task.vo.TaskVO;
+import org.springblade.modules.task.service.ITaskPlaceRectificationService;
+import org.springblade.modules.task.entity.TaskPlaceSelfCheckEntity;
+import org.springblade.modules.task.service.ITaskPlaceSelfCheckService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 任务表 服务实现类
@@ -38,13 +62,89 @@
  * @since 2023-11-06
  */
 @Service
-public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, TaskEntity> implements ITaskService {
+public class TaskServiceImpl extends ServiceImpl<TaskMapper, TaskEntity> implements ITaskService {
 
+	@Autowired
+	private IPlaceService placeService;
+
+	@Autowired
+	private IHouseholdService iHouseholdService;
+
+	@Autowired
+	private IHouseRentalService iHouseRentalService;
+
+	@Autowired
+	private ICategoryService categoryService;
+
+	@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) {
-		task.setUserId(AuthUtil.getUserId());
-		return page.setRecords(baseMapper.selectTaskPage(page, task));
+//		String roleName = SpringUtils.getRequestParam("roleName");
+//		String communityCode = SpringUtils.getRequestParam("communityCode");
+//		if (!Strings.isBlank(communityCode)) {
+//			// 校验社区编号是否合规
+//			if (null != SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
+//				task.setCommunityCode(communityCode);
+//			}
+//		}
+//		List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+//		Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
+		// 网格编号集合
+//		List<String> gridCodeList = new ArrayList<>();
+		// 民警角色
+//		if (!Strings.isBlank(roleName)) {
+//			task.setRoleName(roleName);
+//			if (roleName.equals("mj")) {
+//				regionChildCodesList = SpringUtil.getBean(IPoliceAffairsGridService.class).getCommunityCodeListByUserId(AuthUtil.getUserId());
+//			}
+//			if (roleName.equals("wgy")) {
+//				gridCodeList = SpringUtil.getBean(IGridService.class).getGridListByUserId(AuthUtil.getUserId());
+//			}
+//		}
+//		if (AuthUtil.getUserAccount().equals("18879306957")) {
+//			task.setCommunityCode("361102003027");
+//		}
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskVO.class,task);
+		if (null != task.getReportType() && task.getReportType() == 1) {
+			// 查询取保候审任务列表(人房相关)
+			return page.setRecords(baseMapper.selectTaskPageByPerson(page, task, commonParamSet.getRegionChildCodesList(),
+				commonParamSet.getIsAdministrator(), commonParamSet.getGridCodeList()));
+		}
+		// 查询非取保候审任务列表(场所相关)
+		return page.setRecords(baseMapper.selectTaskPage(page, task, commonParamSet.getRegionChildCodesList(),
+			commonParamSet.getIsAdministrator(), commonParamSet.getGridCodeList()));
+	}
+
+	@Override
+	public IPage<TaskVO> getBailReportingPage(IPage<TaskVO> page, TaskVO task) {
+		// 民警角色
+		if (AuthUtil.getUserRole().equals("mj")) {
+			CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskVO.class, task);
+			task.setUserId(AuthUtil.getUserId());
+			return page.setRecords(baseMapper.selectTaskPageBy(page, task, commonParamSet.getRegionChildCodesList(), commonParamSet.getIsAdministrator()));
+		} else {
+			if (AuthUtil.getUserAccount().equals("18879306957")) {
+				task.setCommunityCode("361102003027");
+				task.setUserId(null);
+			}
+			if (AuthUtil.getUserRole().equals("wgy")) {
+				task.setUserId(AuthUtil.getUserId());
+			}
+			// 非民警角色
+			List<TaskVO> taskVOS = baseMapper.getBailReportingPage(page, task);
+			return page.setRecords(taskVOS);
+		}
 	}
 
 	/**
@@ -58,7 +158,8 @@
 	 * @return
 	 */
 	@Override
-	public Long saveTask(Integer type, String name, Integer frequency, String remark, Long createUser, String houseCode) {
+	public Long saveTask(Integer type, String name, Integer frequency, String remark, Long createUser,
+						 String houseCode, Integer reportType, Integer status) {
 		TaskEntity taskEntity = new TaskEntity();
 		taskEntity.setType(type);
 		taskEntity.setName(name);
@@ -67,6 +168,8 @@
 		taskEntity.setCreateTime(new Date());
 		taskEntity.setCreateUser(createUser);
 		taskEntity.setHouseCode(houseCode);
+		taskEntity.setReportType(reportType);
+		taskEntity.setStatus(status);
 		return baseMapper.insert(taskEntity) > 0 ? taskEntity.getId() : 0;
 	}
 
@@ -89,28 +192,437 @@
 	public Object countNumber(String houseCode, Integer status) {
 		Map<String, Object> objectObjectHashMap = new HashMap<>();
 		// 总数
-		Long all = baseMapper.selectCount(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getCreateUser, AuthUtil.getUserId() ));
+		LambdaQueryWrapper<TaskEntity> objectQueryWrapper = new LambdaQueryWrapper<>();
+		objectQueryWrapper.eq(TaskEntity::getCreateUser, AuthUtil.getUserId());
+		objectQueryWrapper.isNotNull(TaskEntity::getHouseCode);
+		objectQueryWrapper.eq(TaskEntity::getIsDeleted, 0);
+		objectQueryWrapper.in(TaskEntity::getReportType, 2, 3, 4, 5, 6);
+		if (StringUtils.isNotBlank(houseCode)) {
+			objectQueryWrapper.eq(TaskEntity::getHouseCode, houseCode);
+		}
+		Long all = baseMapper.selectCount(objectQueryWrapper);
+		objectQueryWrapper.eq(TaskEntity::getStatus, 2);
 		// 已处理
-		Long processed = baseMapper.selectCount(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getCreateUser, AuthUtil.getUserId())
-			.eq(TaskEntity::getStatus, 2));
+		Long processed = baseMapper.selectCount(objectQueryWrapper);
 		objectObjectHashMap.put("all", all);
 		objectObjectHashMap.put("processed", processed);
 		return objectObjectHashMap;
 	}
 
 	@Override
-	public Object countTypeNumber() {
+	public Object countTypeNumber(Integer roleType, String neiCode) {
+		TaskVO taskVO = new TaskVO();
 		Map<String, Object> objectObjectHashMap = new HashMap<>();
-		// 已处理
-		Long comprehensiveTask = baseMapper.selectCount(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getType, 1)
-			.eq(TaskEntity::getStatus, 1));
-		Long residentialTask = baseMapper.selectCount(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getType, 2)
-			.eq(TaskEntity::getStatus, 1));
-		Long publicTask = baseMapper.selectCount(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getType, 3)
-			.eq(TaskEntity::getStatus, 1));
-		objectObjectHashMap.put("comprehensiveTask", comprehensiveTask);
-		objectObjectHashMap.put("residentialTask", residentialTask);
-		objectObjectHashMap.put("publicTask", publicTask);
+		taskVO.setStatus(1);
+		taskVO.setUserId(roleType > 0 ? AuthUtil.getUserId() : null);
+		taskVO.setNeiCode(neiCode);
+		taskVO.setReportType(5);
+		taskVO.setIsDeleted(0);
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskVO.class,taskVO);
+
+		// 标签报事-二手交易
+		Integer bqsj = baseMapper.selectTaskCount(taskVO,commonParamSet.getRegionChildCodesList(),
+			commonParamSet.getIsAdministrator(),commonParamSet.getGridCodeList());
+		taskVO.setReportType(1);
+		// 取保候审
+		Integer qbhs = baseMapper.selectTaskCount(taskVO,commonParamSet.getRegionChildCodesList(),
+			commonParamSet.getIsAdministrator(),commonParamSet.getGridCodeList());
+		// 报事报修
+		Integer bsbx = SpringUtils.getBean(ITaskReportForRepairsService.class).getStatistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode);
+		// 住户审核
+		Integer zhsh = iHouseholdService.statistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode,0);
+		// 出租审核
+		HouseRentalTenantVO houseRentalTenantVO = new HouseRentalTenantVO();
+		houseRentalTenantVO.setNeiCode(neiCode);
+		Integer czsh = iHouseRentalService.getStatisticsCount(houseRentalTenantVO);
+		// 场所审核
+		Integer cssh = SpringUtils.getBean(IPlaceExtService.class).selectCount(roleType > 0 ? AuthUtil.getUserId() : null, neiCode, 1);
+		// 走访日志
+		// 查询网格员对应的网格id
+		String gridCode = getGridCode();
+		Integer zfrw = SpringUtils.getBean(IGridWorkLogService.class).getGridWorkCountHandleCount(gridCode, 1);
+		// 消防自查
+		Integer xfzc = SpringUtils.getBean(ITaskPlaceSelfCheckService.class).getCount(neiCode, 1);
+		// 消防隐患整改
+		Integer xfyhzg = SpringUtils.getBean(ITaskPlaceRectificationService.class).getCount(neiCode, 1);
+		// 居住证申请
+		Integer jzzsq = SpringUtils.getBean(ITaskResidencePermitApplyService.class).getCount(neiCode, 1);
+		// 设置
+		objectObjectHashMap.put("qbhs", qbhs);// 取保候审
+		objectObjectHashMap.put("bqsj", bqsj);// 标签报事-二手交易
+		objectObjectHashMap.put("bsbx", bsbx);// 报事报修
+		objectObjectHashMap.put("zhsh", zhsh);// 住户审核
+		objectObjectHashMap.put("czsh", czsh);// 出租审核
+		objectObjectHashMap.put("cssh", cssh);// 场所审核
+		objectObjectHashMap.put("zfrw", zfrw);// 走访日志
+		objectObjectHashMap.put("xfzc", xfzc);// 消防自查
+		objectObjectHashMap.put("xfyhzg", xfyhzg);// 消防隐患整改
+		objectObjectHashMap.put("jzzsq", jzzsq);// 居住证申请
 		return objectObjectHashMap;
 	}
+
+	/**
+	 * 获取网格员id
+	 *
+	 * @return
+	 */
+	private String getGridCode() {
+		GridEntity grid = SpringUtils.getBean(IGridService.class).getGridByUserId(AuthUtil.getUserId());
+		if (null != grid) {
+			return grid.getGridCode();
+		}
+		return null;
+	}
+
+	@Override
+	public Object countFrequencyNumber() {
+		Map<String, Object> objectObjectHashMap = new HashMap<>();
+		TaskVO taskVO = new TaskVO();
+		taskVO.setUserId(AuthUtil.getUserId());
+		taskVO.setFrequency(1);
+		taskVO.setStatus(1);
+		Integer disposable = baseMapper.selectTaskCount(taskVO,null,null,null);
+		taskVO.setFrequency(2);
+		Integer periodicity = baseMapper.selectTaskCount(taskVO,null,null,null);
+		objectObjectHashMap.put("disposable", disposable);
+		objectObjectHashMap.put("periodicity", periodicity);
+		return objectObjectHashMap;
+	}
+
+	@Override
+	public Boolean removeTask(TaskEntity task) {
+
+		boolean update1 = update(Wrappers.<TaskEntity>lambdaUpdate()
+			.set(TaskEntity::getIsDeleted, 1)
+			.eq(TaskEntity::getId, task.getId()));
+		if (update1) {
+			if (task.getReportType().equals(1)) {
+				ITaskBailReportingEventService bean = SpringUtils.getBean(ITaskBailReportingEventService.class);
+				boolean update = bean.update(Wrappers.<TaskBailReportingEventEntity>lambdaUpdate()
+					.set(TaskBailReportingEventEntity::getIsDeleted, 1)
+					.eq(TaskBailReportingEventEntity::getTaskId, task.getId()));
+				return update;
+			} else if (task.getReportType().equals(2)) {
+				ITaskHotelReportingService bean = SpringUtils.getBean(ITaskHotelReportingService.class);
+				boolean update = bean.update(Wrappers.<TaskHotelReportingEntity>lambdaUpdate()
+					.set(TaskHotelReportingEntity::getIsDeleted, 1)
+					.eq(TaskHotelReportingEntity::getTaskId, task.getId()));
+				return update;
+			} else if (task.getReportType().equals(3)) {
+				ITaskLabelReportingEventService bean = SpringUtils.getBean(ITaskLabelReportingEventService.class);
+				boolean update = bean.update(Wrappers.<TaskLabelReportingEventEntity>lambdaUpdate()
+					.set(TaskLabelReportingEventEntity::getIsDeleted, 1)
+					.eq(TaskLabelReportingEventEntity::getTaskId, task.getId()));
+				return update;
+			} else if (task.getReportType().equals(4)) {
+				ITaskLabelReportingEventService bean = SpringUtils.getBean(ITaskLabelReportingEventService.class);
+				boolean update = bean.update(Wrappers.<TaskLabelReportingEventEntity>lambdaUpdate()
+					.set(TaskLabelReportingEventEntity::getIsDeleted, 1)
+					.eq(TaskLabelReportingEventEntity::getTaskId, task.getId()));
+				return update;
+			} else if (task.getReportType().equals(5)) {
+				ITaskLabelReportingEventService bean = SpringUtils.getBean(ITaskLabelReportingEventService.class);
+				boolean update = bean.update(Wrappers.<TaskLabelReportingEventEntity>lambdaUpdate()
+					.set(TaskLabelReportingEventEntity::getIsDeleted, 1)
+					.eq(TaskLabelReportingEventEntity::getTaskId, task.getId()));
+				return update;
+			} else if (task.getReportType().equals(6)) {
+				ITaskCampusReportingEventService bean = SpringUtils.getBean(ITaskCampusReportingEventService.class);
+				boolean update = bean.update(Wrappers.<TaskCampusReportingEventEntity>lambdaUpdate()
+					.set(TaskCampusReportingEventEntity::getIsDeleted, 1)
+					.eq(TaskCampusReportingEventEntity::getTaskId, task.getId()));
+				return update;
+			}
+		}
+
+		return update1;
+	}
+
+	/**
+	 * 根据类型创建任务
+	 *
+	 * @param param 参数
+	 * @return
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public boolean createTaskJob(String param) {
+		// 解析参数
+		JSONObject jsonParam = JSON.parseObject(param);
+//		String params = jsonParam.getString("params");
+		boolean flag = false;
+		// 校园安全自查任务生成
+		createCampusReportingTask();
+		// 打金店/二手车/二手手机任务生成
+		createLabelReportingTask();
+		// 旅馆安全自查任务生成
+		createHotelReportingTask();
+		// 人员类-肇事肇祸精神障碍患者走访任务生成
+		createGridWordTask();
+		// 返回
+		return flag;
+	}
+
+
+	/**
+	 * 人员类-肇事肇祸精神障碍患者走访任务生成
+	 */
+	public void createGridWordTask() {
+		// 肇事肇祸精神障碍患者走访任务生成,查询标签为:1006
+		List<Integer> list = new ArrayList<Integer>() {{
+			add(1006);
+		}};
+		// 根据人员标签编号集合查询对应的住户(按颜色区分近多少天没有发过任务的住户)
+		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(1006);
+		// 系统下发
+		gridWorkLogEntity.setSource(2);
+		// 待处理
+		gridWorkLogEntity.setStatus(1);
+		// 新增
+		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.SECOND_HAND_TRANSACTION;
+				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.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);
+		// 系统下发
+		taskEntity.setSource(2);
+		// 待场所负责人上报完善处理
+		taskEntity.setStatus(4);
+		// 新增
+		save(taskEntity);
+		// 返回
+		return taskEntity;
+	}
+
+	/**
+	 * 任务审核
+	 * @param task
+	 * @return
+	 */
+	@Override
+	public Boolean examine(TaskEntity task) {
+		// 二手交易
+		if (task.getReportType().equals(5)) {
+			boolean b = updateById(task);
+			if (b) {
+				ITaskLabelReportingEventService bean = SpringUtils.getBean(ITaskLabelReportingEventService.class);
+				return bean.update(Wrappers.<TaskLabelReportingEventEntity>lambdaUpdate()
+					.set(TaskLabelReportingEventEntity::getConfirmFlag, task.getStatus())
+					.eq(TaskLabelReportingEventEntity::getTaskId, task.getId()));
+			}
+
+		}
+		// 消防只查
+		if (task.getReportType().equals(2)) {
+			boolean b = updateById(task);
+			if (b) {
+				ITaskPlaceSelfCheckService bean = SpringUtils.getBean(ITaskPlaceSelfCheckService.class);
+				return bean.update(Wrappers.<TaskPlaceSelfCheckEntity>lambdaUpdate()
+					.set(TaskPlaceSelfCheckEntity::getStatus, task.getStatus())
+					.eq(TaskPlaceSelfCheckEntity::getTaskId, task.getId()));
+			}
+		}
+		return false;
+	}
 }

--
Gitblit v1.9.3