songhuangfeng123
2022-08-02 aace11a7e1201a8d1fc0b50b659368918d23e794
incident-manage/incident-manage-service/src/main/java/com/gkhy/safePlatform/incidentManage/service/impl/AccidentExpressServiceImpl.java
@@ -1,6 +1,9 @@
package com.gkhy.safePlatform.incidentManage.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gkhy.safePlatform.account.rpc.apimodel.AccountAuthService;
import com.gkhy.safePlatform.account.rpc.apimodel.AccountDepartmentService;
import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.DepInfoRPCRespDTO;
import com.gkhy.safePlatform.commons.enums.ResultCodes;
import com.gkhy.safePlatform.commons.query.PageQuery;
import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
@@ -10,24 +13,26 @@
import com.gkhy.safePlatform.incidentManage.entity.*;
import com.gkhy.safePlatform.incidentManage.enums.AccidentResultCodes;
import com.gkhy.safePlatform.incidentManage.exception.AccidentException;
import com.gkhy.safePlatform.incidentManage.model.dto.req.AccidentExpressCasualtyReqDTO;
import com.gkhy.safePlatform.incidentManage.model.dto.req.AccidentExpressFileReqDTO;
import com.gkhy.safePlatform.incidentManage.model.dto.req.AccidentExpressReqDTO;
import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentExpressCasualtyRespDTO;
import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentExpressDetailRespDTO;
import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentExpressFileRespDTO;
import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentExpressPageRespDTO;
import com.gkhy.safePlatform.incidentManage.query.AccidentExpressQuery;
import com.gkhy.safePlatform.incidentManage.query.db.AccidentExpressDBQuery;
import com.gkhy.safePlatform.incidentManage.service.AccidentExpressService;
import com.gkhy.safePlatform.incidentManage.service.baseService.AccidentExpressCasualtyInfoService;
import com.gkhy.safePlatform.incidentManage.service.baseService.AccidentExpressFileInfoService;
import com.gkhy.safePlatform.incidentManage.service.baseService.AccidentExpressInfoService;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
@Service("accidentExpressService")
@@ -38,6 +43,12 @@
    @Autowired
    private AccidentExpressFileInfoService accidentExpressFileInfoService;
    @Autowired
    private AccidentExpressCasualtyInfoService accidentExpressCasualtyInfoService;
    @DubboReference(check = false)
    private AccountDepartmentService accountDepartmentService;
    @Override
@@ -54,14 +65,28 @@
        List<AccidentExpressInfoPageDO> accidentExpressInfoPageDOList = accidentExpressInfoService.selectAccidentExpressList(page, accidentExpressDBQuery);
        List<AccidentExpressPageRespDTO> respList = BeanCopyUtils.copyBeanList(accidentExpressInfoPageDOList, AccidentExpressPageRespDTO.class);
        respList.forEach(AccidentExpressPageRespDTO ->{
        Map<Long, String> depPool = new HashMap<>();
        respList.forEach(AccidentExpressPageRespDTO ->{
            // 设置部门名称
            if (!depPool.containsKey(AccidentExpressPageRespDTO.getAccidentDepartmentId())) {
                ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(AccidentExpressPageRespDTO.getAccidentDepartmentId());
                if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) {
                    if (rpcResult.getData() != null) {
                        DepInfoRPCRespDTO dep = (DepInfoRPCRespDTO) rpcResult.getData();
                        depPool.put(dep.getDepId(), dep.getDepName());
                    }
                }}
            String depName = depPool.get(AccidentExpressPageRespDTO.getAccidentDepartmentId());
            AccidentExpressPageRespDTO.setDeptName(depName);
        });
        return new SearchResultVO<>(
                true,
                pageIndex,
                pageSize,
                pageSize,page.getPages(),
                page.getTotal(),
                respList,
                ResultCodes.OK
@@ -206,6 +231,33 @@
        }
    }
    @Override
    public ResultVO selectAccidentExpressCasualtyList(Long accidentExpressId) {
        List<AccidentExpressCasualtyInfoDO> accidentExpressCasualtyInfoDOList = accidentExpressCasualtyInfoService.selectByAccidentExpressId(accidentExpressId);
        List<AccidentExpressCasualtyRespDTO> respList =BeanCopyUtils.copyBeanList(accidentExpressCasualtyInfoDOList, AccidentExpressCasualtyRespDTO.class);
        return new ResultVO<>(ResultCodes.OK,respList);
    }
    @Override
    public ResultVO addAccidentExpressCasualty(Long uid, AccidentExpressCasualtyReqDTO accidentExpressCasualtyReqDTO) {
        if (accidentExpressCasualtyReqDTO.getAccidentExpressId()==null){
            throw new AccidentException(AccidentResultCodes.ACCIDENT_EXPRESS_NULL);
        }else{
            AccidentExpressCasualtyInfo accidentExpressCasualtyInfo = new AccidentExpressCasualtyInfo();
            BeanUtils.copyProperties(accidentExpressCasualtyReqDTO,accidentExpressCasualtyInfo);
            accidentExpressCasualtyInfo.setDelFlag(false);
            accidentExpressCasualtyInfo.setGmtCreate(new Date());
            accidentExpressCasualtyInfo.setCreateUid(uid);
            accidentExpressCasualtyInfoService.addAccidentExpressCasualty(accidentExpressCasualtyInfo);
            return new ResultVO(ResultCodes.OK);
        }
    }
    @Override
    public ResultVO delAccidentExpressCasualty(Long accidentExpressId) {
        accidentExpressCasualtyInfoService.deleteAccidentExpressCasualtyById(accidentExpressId);
        return new ResultVO(ResultCodes.OK);
    }