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.EmergencyWorkApproveReqDTO; import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyWorkApproveDetailRespDTO; import com.gkhy.safePlatform.emergency.model.dto.resp.EmergencyWorkApprovePageRespDTO; import com.gkhy.safePlatform.emergency.query.EmergencyWorkApproveQuery; import com.gkhy.safePlatform.emergency.query.db.EmergencyWorkApproveDBQuery; import com.gkhy.safePlatform.emergency.service.EmergencyWorkApproveService; import com.gkhy.safePlatform.emergency.service.baseService.EmergencyWorkApproveInfoService; 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("emergencyWorkApproveService") public class EmergencyWorkApproveServiceImpl implements EmergencyWorkApproveService { @Autowired private EmergencyWorkApproveInfoService workApproveInfoService; @Override public SearchResultVO> selectWorkApproveList(PageQuery query) { Long pageIndex = query.getPageIndex(); Long pageSize = query.getPageSize(); Page page = new Page<>(pageIndex, pageSize); EmergencyWorkApproveDBQuery EmergencyWorkApproveDBQuery = new EmergencyWorkApproveDBQuery(); if (query.getSearchParams() != null) { BeanUtils.copyProperties(query.getSearchParams(), EmergencyWorkApproveDBQuery); } List emergencyWorkApproveInfoPageDOList = workApproveInfoService.selectWorkApproveList(page, EmergencyWorkApproveDBQuery); List respList = BeanCopyUtils.copyBeanList(emergencyWorkApproveInfoPageDOList, EmergencyWorkApprovePageRespDTO.class); return new SearchResultVO<>( true, pageIndex, pageSize, page.getTotal(), respList, ResultCodes.OK ); } @Override public ResultVO addWorkApprove(Long uid, EmergencyWorkApproveReqDTO EmergencyWorkApproveReqDTO) { Date nowDate = new Date(); //1.新增应急队伍 EmergencyWorkApproveInfo EmergencyWorkApproveInfo = new EmergencyWorkApproveInfo(); BeanUtils.copyProperties(EmergencyWorkApproveReqDTO, EmergencyWorkApproveInfo); EmergencyWorkApproveInfo.setDelFlag(false); EmergencyWorkApproveInfo.setCreateUid(uid); EmergencyWorkApproveInfo.setGmtCreate(nowDate); EmergencyWorkApproveInfo.setApproveStatus(ApproveStatus.NOT_APPROVE.getStatus()); workApproveInfoService.addWorkApprove(EmergencyWorkApproveInfo); return new ResultVO(ResultCodes.OK); } @Override public ResultVO getWorkApproveById(Long id) { EmergencyWorkApproveInfoDetailDO EmergencyWorkApproveInfoDetailDO = workApproveInfoService.selectWorkApproveById(id); EmergencyWorkApproveDetailRespDTO emergencyWorkApproveDetailRespDTO = new EmergencyWorkApproveDetailRespDTO(); BeanUtils.copyProperties(EmergencyWorkApproveInfoDetailDO, emergencyWorkApproveDetailRespDTO); return new ResultVO<>(ResultCodes.OK, emergencyWorkApproveDetailRespDTO); } @Override public ResultVO updateWorkApprove(Long uid, EmergencyWorkApproveReqDTO EmergencyWorkApproveReqDTO) { Date nowDate = new Date(); EmergencyWorkApproveInfo EmergencyWorkApproveInfo = new EmergencyWorkApproveInfo(); BeanUtils.copyProperties(EmergencyWorkApproveReqDTO, EmergencyWorkApproveInfo); EmergencyWorkApproveInfo.setUpdateUid(uid); EmergencyWorkApproveInfo.setGmtModitify(nowDate); workApproveInfoService.updateWorkApprove(EmergencyWorkApproveInfo); 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); } }