/* * 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.taskPlaceRectification.service.impl; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.common.cache.SysCache; import org.springblade.common.utils.SpringUtils; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.modules.house.excel.HouseExcel; import org.springblade.modules.patrol.entity.PatrolRecord; import org.springblade.modules.patrol.service.IPatrolRecordService; import org.springblade.modules.patrol.vo.PatrolRecordVO; import org.springblade.modules.system.entity.DictBiz; import org.springblade.modules.system.entity.Region; import org.springblade.modules.system.service.IDeptService; import org.springblade.modules.system.service.IDictBizService; import org.springblade.modules.system.service.IRegionService; import org.springblade.modules.system.vo.RegionVO; import org.springblade.modules.task.entity.TaskEntity; import org.springblade.modules.task.service.ITaskService; import org.springblade.modules.taskPlaceRectification.dto.TaskPlaceRectificationDTO; import org.springblade.modules.taskPlaceRectification.entity.TaskPlaceRectificationEntity; import org.springblade.modules.taskPlaceRectification.vo.TaskPlaceRectificationVO; import org.springblade.modules.taskPlaceRectification.mapper.TaskPlaceRectificationMapper; import org.springblade.modules.taskPlaceRectification.service.ITaskPlaceRectificationService; import org.springblade.core.mp.base.BaseServiceImpl; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import java.util.List; import java.util.Map; /** * 场所整改任务表 服务实现类 * * @author BladeX * @since 2024-01-31 */ @Service public class TaskPlaceRectificationServiceImpl extends ServiceImpl implements ITaskPlaceRectificationService { @Override public IPage selectTaskPlaceRectificationPage(IPage page, TaskPlaceRectificationVO taskPlaceRectification) { return page.setRecords(baseMapper.selectTaskPlaceRectificationPage(page, taskPlaceRectification)); } /** * 查询场所整改任务表 * * @param taskId 场所整改任务表ID * @return 场所整改任务表 */ @Override public TaskPlaceRectificationVO selectTaskPlaceRectificationById(Long taskId) { return this.baseMapper.selectTaskPlaceRectificationById(taskId); } /** * 查询场所整改任务表列表 * * @param taskPlaceRectificationDTO 场所整改任务表 * @return 场所整改任务表集合 */ @Override public IPage selectTaskPlaceRectificationList(IPage page, TaskPlaceRectificationDTO taskPlaceRectificationDTO) { // 数据过滤 List regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId()); Integer isAdministrator = AuthUtil.isAdmin() == true ? 1 : 2; List taskPlaceRectificationVOS = baseMapper.selectTaskPlaceRectificationList(page, taskPlaceRectificationDTO, regionChildCodesList, isAdministrator); for (TaskPlaceRectificationVO taskPlaceRectificationVO : taskPlaceRectificationVOS) { StringBuilder builder = new StringBuilder(""); List patrolRecordVOList = taskPlaceRectificationVO.getPatrolRecordVOList(); for (int i = 0; i < patrolRecordVOList.size(); i++) { builder.append(i + 1).append(" : ").append(patrolRecordVOList.get(i).getItemsName()).append("; "); } taskPlaceRectificationVO.setHiddenDanger(builder.toString()); } return page.setRecords(taskPlaceRectificationVOS); } @Override public Boolean updateRectification(TaskPlaceRectificationVO taskPlaceRectification) { // 更新隐患项记录 IPatrolRecordService patrolRecordService = SpringUtils.getBean(IPatrolRecordService.class); List patrolRecordVOList = taskPlaceRectification.getPatrolRecordVOList(); boolean b = patrolRecordService.updateBatchById(BeanUtil.copy(patrolRecordVOList, PatrolRecord.class)); if (b) { // 更新任务状态 ITaskService bean = SpringUtils.getBean(ITaskService.class); boolean update = bean.update(Wrappers.lambdaUpdate() .set(TaskEntity::getStatus, taskPlaceRectification.getStatus()) .eq(TaskEntity::getId, taskPlaceRectification.getTaskId())); // 更新任务详情状态 boolean b1 = updateById(taskPlaceRectification); return b1; } return false; } @Override public Boolean applyRectification(TaskPlaceRectificationVO taskPlaceRectification) { // 更新任务状态 ITaskService bean = SpringUtils.getBean(ITaskService.class); boolean update = bean.update(Wrappers.lambdaUpdate() .set(TaskEntity::getStatus, taskPlaceRectification.getStatus()) .set(TaskEntity::getRemark, taskPlaceRectification.getReasonFailure()) .eq(TaskEntity::getId, taskPlaceRectification.getTaskId())); // 更新任务详情状态 boolean b1 = updateById(taskPlaceRectification); return b1; } @Override public Object rectificationStatistics() { List regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId()); Integer isAdministrator = AuthUtil.isAdmin() == true ? 1 : 2; // 统计九小场所类型隐患统计 IRegionService bean = SpringUtils.getBean(IRegionService.class); List list = bean.list(Wrappers.lambdaQuery() .like(Region::getCode, "361102") .eq(Region::getRegionLevel, 4)); List copy = BeanUtil.copy(list, RegionVO.class); for (RegionVO regionVO : copy) { List> nineTypeStatistics = baseMapper.getNineTypeStatistics(regionVO.getCode(), regionChildCodesList, isAdministrator); regionVO.setNineTypeStatistics(nineTypeStatistics); } return copy; } @Override public List export(TaskPlaceRectificationVO taskPlaceRectificationVO) { List houseExcels = null; //baseMapper.export(taskPlaceRectificationVO); return houseExcels; } }