package com.gkhy.safePlatform.emergency.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.utils.BeanCopyUtils; import com.gkhy.safePlatform.commons.utils.StringUtils; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.commons.vo.SearchResultVO; import com.gkhy.safePlatform.emergency.entity.*; import com.gkhy.safePlatform.emergency.enums.ApproveStatus; import com.gkhy.safePlatform.emergency.enums.EmergencyResultCodes; import com.gkhy.safePlatform.emergency.excepiton.EmergencyException; import com.gkhy.safePlatform.emergency.model.dto.req.WorkApproveReqDTO; import com.gkhy.safePlatform.emergency.model.dto.resp.WorkApproveDetailRespDTO; import com.gkhy.safePlatform.emergency.model.dto.resp.WorkApprovePageRespDTO; import com.gkhy.safePlatform.emergency.query.WorkApproveQuery; import com.gkhy.safePlatform.emergency.query.db.WorkApproveDBQuery; import com.gkhy.safePlatform.emergency.service.WorkApproveService; import com.gkhy.safePlatform.emergency.service.baseService.WorkApproveInfoService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; @Service("workApproveService") public class WorkApproveServiceImpl implements WorkApproveService { @Autowired private WorkApproveInfoService workApproveInfoService; @Override public SearchResultVO> selectWorkApproveList(PageQuery query) { Long pageIndex = query.getPageIndex(); Long pageSize = query.getPageSize(); Page page = new Page<>(pageIndex, pageSize); WorkApproveDBQuery WorkApproveDBQuery = new WorkApproveDBQuery(); if (query.getSearchParams() != null) { BeanUtils.copyProperties(query.getSearchParams(), WorkApproveDBQuery); } List WorkApproveInfoPageDOList = workApproveInfoService.selectWorkApproveList(page, WorkApproveDBQuery); List respList = BeanCopyUtils.copyBeanList(WorkApproveInfoPageDOList, WorkApprovePageRespDTO.class); return new SearchResultVO<>( true, pageIndex, pageSize, page.getTotal(), respList, ResultCodes.OK ); } @Override public ResultVO addWorkApprove(Long uid, WorkApproveReqDTO WorkApproveReqDTO) { Date nowDate = new Date(); //1.新增应急队伍 WorkApproveInfo WorkApproveInfo = new WorkApproveInfo(); BeanUtils.copyProperties(WorkApproveReqDTO, WorkApproveInfo); WorkApproveInfo.setDelFlag(false); WorkApproveInfo.setCreateUid(uid); WorkApproveInfo.setGmtCreate(nowDate); WorkApproveInfo.setApproveStatus(ApproveStatus.NOT_APPROVE.getStatus()); workApproveInfoService.addWorkApprove(WorkApproveInfo); return new ResultVO(ResultCodes.OK); } @Override public ResultVO getWorkApproveById(Long id) { WorkApproveInfoDetailDO WorkApproveInfoDetailDO = workApproveInfoService.selectWorkApproveById(id); WorkApproveDetailRespDTO workApproveDetailRespDTO = new WorkApproveDetailRespDTO(); BeanUtils.copyProperties(WorkApproveInfoDetailDO, workApproveDetailRespDTO); return new ResultVO<>(ResultCodes.OK, workApproveDetailRespDTO); } @Override public ResultVO updateWorkApprove(Long uid, WorkApproveReqDTO WorkApproveReqDTO) { Date nowDate = new Date(); //查询是否存在 WorkApproveInfoDetailDO WorkApproveInfoDetailDO = workApproveInfoService.selectWorkApproveById(WorkApproveReqDTO.getId()); if (WorkApproveInfoDetailDO == null) { throw new EmergencyException(EmergencyResultCodes.TEAM_NOT_EXIST); } else { WorkApproveInfo WorkApproveInfo = new WorkApproveInfo(); BeanUtils.copyProperties(WorkApproveReqDTO, WorkApproveInfo); WorkApproveInfo.setUpdateUid(uid); WorkApproveInfo.setGmtModitify(nowDate); workApproveInfoService.updateWorkApprove(WorkApproveInfo); return new ResultVO(ResultCodes.OK); } } @Override public ResultVO batchDeleteWorkApprove(String ids) { if (!StringUtils.isBlank(ids)) { String[] idArr = ids.split(","); for (String id : idArr) { deleteWorkApprove(Long.valueOf(id)); } } return new ResultVO(ResultCodes.OK); } private void deleteWorkApprove(Long id) { workApproveInfoService.deleteWorkApproveById(id); } }