package com.gkhy.safePlatform.emergency.service.impl;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.gkhy.safePlatform.commons.co.ContextCacheUser;
|
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.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<List<EmergencyWorkApprovePageRespDTO>> selectWorkApproveList(PageQuery<EmergencyWorkApproveQuery> query) {
|
Long pageIndex = query.getPageIndex();
|
Long pageSize = query.getPageSize();
|
Page<EmergencyWorkApproveInfoPageDO> page = new Page<>(pageIndex, pageSize);
|
|
EmergencyWorkApproveDBQuery EmergencyWorkApproveDBQuery = new EmergencyWorkApproveDBQuery();
|
if (query.getSearchParams() != null) {
|
BeanUtils.copyProperties(query.getSearchParams(), EmergencyWorkApproveDBQuery);
|
}
|
|
List<EmergencyWorkApproveInfoPageDO> emergencyWorkApproveInfoPageDOList = workApproveInfoService.selectWorkApproveList(page, EmergencyWorkApproveDBQuery);
|
List<EmergencyWorkApprovePageRespDTO> respList = BeanCopyUtils.copyBeanList(emergencyWorkApproveInfoPageDOList, EmergencyWorkApprovePageRespDTO.class);
|
|
return new SearchResultVO<>(
|
true,
|
pageIndex,
|
pageSize,page.getPages(),
|
page.getTotal(),
|
respList,
|
ResultCodes.OK
|
);
|
}
|
|
@Override
|
public ResultVO addWorkApprove(ContextCacheUser currentUser, EmergencyWorkApproveReqDTO EmergencyWorkApproveReqDTO) {
|
|
// 业务类型
|
if (EmergencyWorkApproveReqDTO.getRelateType()==null){
|
throw new EmergencyException(EmergencyResultCodes.APPROVE_RELATE_ID_NULL);
|
}
|
// 业务主表id
|
if (EmergencyWorkApproveReqDTO.getRelateId()==null){
|
throw new EmergencyException(EmergencyResultCodes.APPROVE_RELATE_TYPE_NULL);
|
}
|
// 审批人
|
if (EmergencyWorkApproveReqDTO.getApprovePersonId()==null){
|
throw new EmergencyException(EmergencyResultCodes.APPROVE_PERSON_NULL);
|
}
|
// 审批状态
|
if (EmergencyWorkApproveReqDTO.getApproveStatus()==null){
|
throw new EmergencyException(EmergencyResultCodes.APPROVE_STATUS_NULL);
|
}
|
|
|
Date nowDate = new Date();
|
Long uid = currentUser.getUid();
|
String uName = currentUser.getRealName();
|
//1.新增应急审批
|
EmergencyWorkApproveInfo EmergencyWorkApproveInfo = new EmergencyWorkApproveInfo();
|
BeanUtils.copyProperties(EmergencyWorkApproveReqDTO, EmergencyWorkApproveInfo);
|
EmergencyWorkApproveInfo.setDelFlag(false);
|
EmergencyWorkApproveInfo.setCreateUid(uid);
|
EmergencyWorkApproveInfo.setGmtCreate(nowDate);
|
EmergencyWorkApproveInfo.setSubmitPersonId(uid);
|
EmergencyWorkApproveInfo.setSubmitPersonName(uName);
|
EmergencyWorkApproveInfo.setSort(1);
|
workApproveInfoService.addWorkApprove(EmergencyWorkApproveInfo);
|
return new ResultVO(ResultCodes.OK);
|
}
|
|
@Override
|
public ResultVO updateWorkApprove(ContextCacheUser currentUser, EmergencyWorkApproveReqDTO emergencyWorkApproveReqDTO) {
|
|
Date nowDate = new Date();
|
Long uid = currentUser.getUid();
|
String uName = currentUser.getRealName();
|
// 更新原审批记录
|
EmergencyWorkApproveInfo emergencyWorkApproveInfo = new EmergencyWorkApproveInfo();
|
emergencyWorkApproveInfo.setId(emergencyWorkApproveReqDTO.getId());
|
emergencyWorkApproveInfo.setUpdateUid(uid);
|
emergencyWorkApproveInfo.setGmtModitify(nowDate);
|
emergencyWorkApproveInfo.setApproveStatus(emergencyWorkApproveReqDTO.getApproveStatus());
|
emergencyWorkApproveInfo.setApproveResult(emergencyWorkApproveReqDTO.getApproveResult());
|
emergencyWorkApproveInfo.setApproveMemo(emergencyWorkApproveReqDTO.getApproveMemo());
|
workApproveInfoService.updateWorkApprove(emergencyWorkApproveInfo);
|
|
//新增下级审批记录
|
if (emergencyWorkApproveReqDTO.getApproveStatus() == 2){
|
EmergencyWorkApproveInfo newEmergencyWorkApproveInfo = new EmergencyWorkApproveInfo();
|
BeanUtils.copyProperties(emergencyWorkApproveReqDTO,newEmergencyWorkApproveInfo);
|
|
newEmergencyWorkApproveInfo.setId(null);
|
newEmergencyWorkApproveInfo.setDelFlag(false);
|
newEmergencyWorkApproveInfo.setCreateUid(uid);
|
newEmergencyWorkApproveInfo.setGmtCreate(nowDate);
|
newEmergencyWorkApproveInfo.setSubmitPersonId(uid);
|
newEmergencyWorkApproveInfo.setSubmitPersonName(uName);
|
newEmergencyWorkApproveInfo.setApproveResult(null);
|
newEmergencyWorkApproveInfo.setApproveMemo(null);
|
newEmergencyWorkApproveInfo.setSort(newEmergencyWorkApproveInfo.getSort()+1);
|
workApproveInfoService.addWorkApprove(newEmergencyWorkApproveInfo);
|
}
|
return new ResultVO(ResultCodes.OK);
|
}
|
|
@Override
|
public ResultVO<EmergencyWorkApproveDetailRespDTO> getWorkApproveById(Long id) {
|
EmergencyWorkApproveInfoDetailDO EmergencyWorkApproveInfoDetailDO = workApproveInfoService.selectWorkApproveById(id);
|
if (EmergencyWorkApproveInfoDetailDO==null){
|
throw new EmergencyException(EmergencyResultCodes.APPROVE_NOT_EXIST);
|
}
|
EmergencyWorkApproveDetailRespDTO emergencyWorkApproveDetailRespDTO = new EmergencyWorkApproveDetailRespDTO();
|
BeanUtils.copyProperties(EmergencyWorkApproveInfoDetailDO, emergencyWorkApproveDetailRespDTO);
|
return new ResultVO<>(ResultCodes.OK, emergencyWorkApproveDetailRespDTO);
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@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);
|
}
|
|
|
}
|