/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.springblade.modules.task.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.springblade.common.utils.SpringUtils; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.utils.AuthUtil; 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.task.mapper.TaskMapper; import org.springblade.modules.task.service.ITaskReportForRepairsService; import org.springblade.modules.task.service.ITaskService; import org.springblade.modules.task.vo.TaskVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 任务表 服务实现类 * * @author BladeX * @since 2023-11-06 */ @Service public class TaskServiceImpl extends BaseServiceImpl implements ITaskService { // @Autowired // private ITaskReportForRepairsService iTaskReportForRepairsService; @Autowired private IHouseholdService iHouseholdService; @Autowired private IHouseRentalService iHouseRentalService; @Override public IPage selectTaskPage(IPage page, TaskVO task) { task.setUserId(AuthUtil.getUserId()); // 民警角色 if (AuthUtil.getUserRole().equals("mj")) { task.setUserId(AuthUtil.getUserId()); return page.setRecords(baseMapper.selectTaskPageBy(page, task)); } else { // 非民警角色 List taskVOS = baseMapper.selectTaskPage(page, task); return page.setRecords(taskVOS); } } /** * 新增任务 * * @param type * @param name * @param frequency * @param remark * @param createUser * @return */ @Override 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); taskEntity.setFrequency(frequency); taskEntity.setRemark(remark); taskEntity.setCreateTime(new Date()); taskEntity.setCreateUser(createUser); taskEntity.setHouseCode(houseCode); taskEntity.setReportType(reportType); return baseMapper.insert(taskEntity) > 0 ? taskEntity.getId() : 0; } @Override public Long updateTask(Integer type, String name, Integer frequency, String remark, Long updateUser, Long id, Integer status) { TaskEntity taskEntity = new TaskEntity(); taskEntity.setId(id); taskEntity.setType(type); taskEntity.setName(name); taskEntity.setFrequency(frequency); taskEntity.setRemark(remark); taskEntity.setUpdateTime(new Date()); taskEntity.setUpdateUser(updateUser); taskEntity.setStatus(status); return baseMapper.updateById(taskEntity) > 0 ? 1L : 0; } @Override public Object countNumber(String houseCode, Integer status) { Map objectObjectHashMap = new HashMap<>(); // 总数 Long all = baseMapper.selectCount(Wrappers.lambdaQuery() .eq(TaskEntity::getCreateUser, AuthUtil.getUserId()) .in(TaskEntity::getReportType,2,3,4,5,6)); // 已处理 Long processed = baseMapper.selectCount(Wrappers.lambdaQuery() .eq(TaskEntity::getCreateUser, AuthUtil.getUserId()) .eq(TaskEntity::getStatus, 2) .in(TaskEntity::getReportType,2,3,4,5,6)); objectObjectHashMap.put("all", all); objectObjectHashMap.put("processed", processed); return objectObjectHashMap; } @Override public Object countTypeNumber(Integer roleType, String neiCode) { TaskVO taskVO = new TaskVO(); Map objectObjectHashMap = new HashMap<>(); taskVO.setStatus(1); taskVO.setUserId(roleType > 0 ? AuthUtil.getUserId() : null); taskVO.setNeiCode(neiCode); taskVO.setReportType(2); // 标签事件 Integer bqsj = baseMapper.selectTaskCount(taskVO); taskVO.setReportType(1); // 取保候审 Integer qbhs = baseMapper.selectTaskCount(taskVO); // 报事报修 Integer bsbx = SpringUtils.getBean(ITaskReportForRepairsService.class).getStatistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode); // 住房审核 Integer zhsh = iHouseholdService.statistics(roleType > 0 ? AuthUtil.getUserId() : null, neiCode); // 出租审核 HouseRentalTenantVO houseRentalTenantVO = new HouseRentalTenantVO(); houseRentalTenantVO.setUserId(roleType > 0 ? AuthUtil.getUserId() : null); houseRentalTenantVO.setNeiCode(neiCode); Integer czsh = iHouseRentalService.getStatisticsCount(houseRentalTenantVO); // 场所审核 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); objectObjectHashMap.put("zhsh", zhsh); objectObjectHashMap.put("czsh", czsh); objectObjectHashMap.put("cssh", cssh); return objectObjectHashMap; } @Override public Object countFrequencyNumber() { Map objectObjectHashMap = new HashMap<>(); TaskVO taskVO = new TaskVO(); taskVO.setUserId(AuthUtil.getUserId()); taskVO.setFrequency(1); taskVO.setStatus(1); Integer disposable = baseMapper.selectTaskCount(taskVO); taskVO.setFrequency(2); Integer periodicity = baseMapper.selectTaskCount(taskVO); objectObjectHashMap.put("disposable", disposable); objectObjectHashMap.put("periodicity", periodicity); return objectObjectHashMap; } }