| | |
| | | */ |
| | | package org.springblade.modules.task.service.impl; |
| | | |
| | | 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.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.house.service.IHouseRentalService; |
| | | import org.springblade.modules.house.service.IHouseholdService; |
| | | import org.springblade.modules.house.vo.HouseRentalTenantVO; |
| | | import org.springblade.modules.place.service.IPlaceExtService; |
| | | import org.springblade.modules.task.entity.TaskEntity; |
| | | import org.springblade.modules.place.service.IPlaceService; |
| | | import org.springblade.modules.place.vo.PlaceVO; |
| | | import org.springblade.modules.system.entity.Dept; |
| | | import org.springblade.modules.system.service.IDeptService; |
| | | import org.springblade.modules.task.entity.*; |
| | | import org.springblade.modules.task.mapper.TaskMapper; |
| | | import org.springblade.modules.task.service.ITaskReportForRepairsService; |
| | | import org.springblade.modules.task.service.ITaskService; |
| | | import org.springblade.modules.task.service.*; |
| | | import org.springblade.modules.task.vo.TaskVO; |
| | | 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.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 任务表 服务实现类 |
| | |
| | | @Service |
| | | public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, TaskEntity> implements ITaskService { |
| | | |
| | | // @Autowired |
| | | // private ITaskReportForRepairsService iTaskReportForRepairsService; |
| | | @Autowired |
| | | private IPlaceService placeService; |
| | | |
| | | @Autowired |
| | | private IHouseholdService iHouseholdService; |
| | |
| | | @Autowired |
| | | private IHouseRentalService iHouseRentalService; |
| | | |
| | | @Autowired |
| | | private IDeptService deptService; |
| | | |
| | | @Autowired |
| | | private ICategoryService categoryService; |
| | | |
| | | @Autowired |
| | | private ITaskCampusReportingEventService taskCampusReportingEventService; |
| | | |
| | | @Override |
| | | public IPage<TaskVO> selectTaskPage(IPage<TaskVO> page, TaskVO task) { |
| | | task.setUserId(AuthUtil.getUserId()); |
| | | Dept dept = deptService.getById(AuthUtil.getDeptId()); |
| | | if (null != dept) { |
| | | task.setCommunityCode(dept.getRegionCode()); |
| | | } |
| | | // 民警角色 |
| | | if (AuthUtil.getUserRole().equals("mj")) { |
| | | task.setUserId(AuthUtil.getUserId()); |
| | | return page.setRecords(baseMapper.selectTaskPageBy(page, task)); |
| | | } 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.selectTaskPage(page, task); |
| | | return page.setRecords(taskVOS); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public IPage<TaskVO> getBailReportingPage(IPage<TaskVO> page, TaskVO task) { |
| | | Dept dept = deptService.getById(AuthUtil.getDeptId()); |
| | | if (null != dept) { |
| | | task.setCommunityCode(dept.getRegionCode()); |
| | | } |
| | | // 民警角色 |
| | | if (AuthUtil.getUserRole().equals("mj")) { |
| | | task.setUserId(AuthUtil.getUserId()); |
| | | return page.setRecords(baseMapper.selectTaskPageBy(page, task)); |
| | | } 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); |
| | | } |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Long saveTask(Integer type, String name, Integer frequency, String remark, Long createUser, String houseCode,Integer reportType) { |
| | | public Long saveTask(Integer type, String name, Integer frequency, String remark, Long createUser, String houseCode, Integer reportType) { |
| | | TaskEntity taskEntity = new TaskEntity(); |
| | | taskEntity.setType(type); |
| | | taskEntity.setName(name); |
| | |
| | | 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()) |
| | | .in(TaskEntity::getReportType,2,3,4,5,6)); |
| | | 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) |
| | | .in(TaskEntity::getReportType,2,3,4,5,6)); |
| | | 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<>(); |
| | | taskVO.setStatus(1); |
| | | taskVO.setUserId(roleType > 0 ? AuthUtil.getUserId() : null); |
| | | taskVO.setNeiCode(neiCode); |
| | | taskVO.setReportType(2); |
| | | // 标签时间 |
| | | taskVO.setIsDeleted(0); |
| | | // 标签事件 |
| | | Integer bqsj = baseMapper.selectTaskCount(taskVO); |
| | | taskVO.setReportType(1); |
| | | // 标签时间 |
| | | // 取保候审 |
| | | Integer qbhs = baseMapper.selectTaskCount(taskVO); |
| | | // 报事报修 |
| | | Integer bsbx = SpringUtils.getBean(ITaskReportForRepairsService.class).getStatistics(AuthUtil.getUserId(), ""); |
| | | Integer bsbx = SpringUtils.getBean(ITaskReportForRepairsService.class).getStatistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode); |
| | | // 住房审核 |
| | | Integer zhsh = iHouseholdService.statistics(AuthUtil.getUserId(),""); |
| | | Integer zhsh = iHouseholdService.statistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode); |
| | | // 出租审核 |
| | | HouseRentalTenantVO houseRentalTenantVO = new HouseRentalTenantVO(); |
| | | houseRentalTenantVO.setUserId(AuthUtil.getUserId()); |
| | | houseRentalTenantVO.setUserId(roleType > 0 ? AuthUtil.getUserId() : null); |
| | | houseRentalTenantVO.setNeiCode(neiCode); |
| | | Integer czsh = iHouseRentalService.getStatisticsCount(houseRentalTenantVO); |
| | | // 场所审核 |
| | | Integer cssh = SpringUtils.getBean(IPlaceExtService.class).selectCount(AuthUtil.getUserId(), "", 1); |
| | | Integer cssh = SpringUtils.getBean(IPlaceExtService.class).selectCount(roleType > 0 ? AuthUtil.getUserId() : null, neiCode, 1); |
| | | objectObjectHashMap.put("qbhs", qbhs); |
| | | objectObjectHashMap.put("bqsj", bqsj); |
| | | objectObjectHashMap.put("bsbx", bsbx); |
| | |
| | | taskVO.setStatus(1); |
| | | Integer disposable = baseMapper.selectTaskCount(taskVO); |
| | | taskVO.setFrequency(2); |
| | | Integer periodicity = baseMapper.selectTaskCount(taskVO); |
| | | Integer periodicity = baseMapper.selectTaskCount(taskVO); |
| | | 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 reportType 任务/事件类型 |
| | | * @param color 参数 |
| | | * @return |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean createTaskJob(Integer reportType, String color) { |
| | | 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); |
| | | } |
| | | } |
| | | return flag; |
| | | } |
| | | } |