zhangf
2024-05-09 4915493db5013f4e0857ac7127616781732c2d6c
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;
@@ -23,19 +25,20 @@
import com.gkhy.safePlatform.emergency.service.EmergencySuppliesService;
import com.gkhy.safePlatform.emergency.service.baseService.*;
import org.apache.dubbo.config.annotation.DubboReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.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 {
    private static final Logger log = LoggerFactory.getLogger(EmergencySuppliesServiceImpl.class);
    @Autowired
    private EmergencySuppliesInfoService emergencySuppliesInfoService;
@@ -196,6 +199,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 +259,8 @@
        }
    }
    /**
     * 验证必填项
@@ -235,4 +284,25 @@
            throw new EmergencyException(EmergencyResultCodes.SUPPLIES_ENUM_STATUS_NOT_EXIST);
        }
    }
    public List<EmergencySuppliesInfoRespDTO> getEmergencySupplies(){
        List<EmergencySuppliesInfo> allEmergencySupplies = emergencySuppliesInfoService.getAllEmergencySupplies();
        List<EmergencySuppliesInfoRespDTO> collect = new ArrayList<>();
        for (EmergencySuppliesInfo allEmergencySupply : allEmergencySupplies) {
            EmergencySuppliesInfoRespDTO e = new EmergencySuppliesInfoRespDTO();
            BeanUtils.copyProperties(allEmergencySupply,e);
            String value = EmergencySuppliesClassificationEnum.getByCode(allEmergencySupply.getClassification()).getValue();
            e.setClassificationName(StringUtils.isEmpty(value) ? "" : value);
            ResultVO<DepInfoRPCRespDTO> rpcResult = accountDepartmentService.getDepInfoByDepId(allEmergencySupply.getDepartmentId());
            if (rpcResult != null && rpcResult.getCode().equals(ResultCodes.OK.getCode())) {
                if (rpcResult.getData() != null) {
                    DepInfoRPCRespDTO dep = (DepInfoRPCRespDTO) rpcResult.getData();
                    e.setDepartmentName(dep.getDepName());
                }
            }
            collect.add(e);
        }
        return collect;
    }
}