zhangf
2024-05-08 0414ddb0b2b3a7199ae6181a770f97ac140dbd73
emergency/emergency-service/src/main/java/com/gkhy/safePlatform/emergency/service/impl/EmergencySuppliesServiceImpl.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gkhy.safePlatform.account.rpc.apimodel.AccountDepartmentService;
import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.DepInfoRPCRespDTO;
import com.gkhy.safePlatform.commons.co.ContextCacheUser;
import com.gkhy.safePlatform.commons.enums.E;
import com.gkhy.safePlatform.commons.enums.ResultCodes;
import com.gkhy.safePlatform.commons.query.PageQuery;
import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
@@ -28,10 +30,8 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@Service("emergencySuppliesService")
public class EmergencySuppliesServiceImpl implements EmergencySuppliesService {
@@ -196,6 +196,50 @@
        }
    }
    /**
     * 按照物资类型分类获取列表
     * @param currentUser
     * @return
     */
    @Override
    public List<EmergencySuppliesTypeRespDTO> emergencySuppliesList(ContextCacheUser currentUser) {
        List<EmergencySuppliesInfo> emergencySuppliesInfoList = emergencySuppliesInfoService.listByNoConditions();
        List<EmergencySuppliesTypeRespDTO> typeRespDTOList = new ArrayList<>();
        for (EmergencySuppliesClassificationEnum teamLevelEnum : EmergencySuppliesClassificationEnum.values()) {
            EmergencySuppliesTypeRespDTO typeRespDTO = new EmergencySuppliesTypeRespDTO();
            typeRespDTO.setMaterialType(teamLevelEnum.getCode());
            typeRespDTO.setMaterialTypeName(teamLevelEnum.getValue());
            List<EmergencySuppliesRespDTO> respDTOList = new ArrayList<>();
            List<EmergencySuppliesInfo> collect = emergencySuppliesInfoList.stream().filter(item -> item.getClassification().equals(teamLevelEnum.getCode())).collect(Collectors.toList());
            if(!CollectionUtils.isEmpty(collect)){
                for (EmergencySuppliesInfo info : collect) {
                    EmergencySuppliesRespDTO respDTO = new EmergencySuppliesRespDTO();
                    BeanUtils.copyProperties(info,respDTO);
                    respDTO.setMaterialType(info.getClassification());
                    respDTO.setMaterialTypeName(teamLevelEnum.getValue());
                    respDTOList.add(respDTO);
                }
            }
            typeRespDTO.setList(respDTOList);
            typeRespDTOList.add(typeRespDTO);
        }
        return typeRespDTOList;
    }
    @Override
    public List<EmergencySuppliesRespDTO> listCountByIds(ContextCacheUser currentUser, List<Long> ids) {
        if(null == ids || ids.size() == 0 ){
            throw new EmergencyException(EmergencyResultCodes.SUPPLIES_PARAM_NULL);
        }
        List<EmergencySuppliesInfo> emergencySuppliesInfos = emergencySuppliesInfoService.listCountByIds(ids);
        List<EmergencySuppliesRespDTO> respDTOList = new ArrayList<>();
        if(!CollectionUtils.isEmpty(emergencySuppliesInfos)){
            respDTOList = BeanCopyUtils.copyBeanList(emergencySuppliesInfos,EmergencySuppliesRespDTO.class);
        }
        return respDTOList;
    }
    private void deleteEmergencySupplies(Long id) {
        //查询是否存在
        EmergencySuppliesInfoDetailDO emergencySuppliesInfoDetailDO = emergencySuppliesInfoService.selectEmergencySuppliesById(id);
@@ -212,6 +256,8 @@
        }
    }
    /**
     * 验证必填项
@@ -235,4 +281,23 @@
            throw new EmergencyException(EmergencyResultCodes.SUPPLIES_ENUM_STATUS_NOT_EXIST);
        }
    }
    public List<EmergencySuppliesInfoRespDTO> getEmergencySupplies(){
        List<EmergencySuppliesInfo> allEmergencySupplies = emergencySuppliesInfoService.getAllEmergencySupplies();
        List<EmergencySuppliesInfoRespDTO> collect = allEmergencySupplies.stream().map(es -> {
            EmergencySuppliesInfoRespDTO e = new EmergencySuppliesInfoRespDTO();
            BeanUtils.copyProperties(es,e);
            e.setClassificationName(EmergencySuppliesClassificationEnum.getByCode(es.getClassification()).getValue());
            ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(es.getDepartmentId());
            if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) {
                if (rpcResult.getData() != null) {
                    DepInfoRPCRespDTO dep = (DepInfoRPCRespDTO) rpcResult.getData();
                    e.setDepartmentName(dep.getDepName());
                }
            }
            return e;
        }).collect(Collectors.toList());
        return collect;
    }
}