zhongrj
2025-02-11 b1e8a099eb3117bcbd5f2e0c9a2eb0accabd8cbf
src/main/java/org/springblade/modules/yw/service/impl/EmergencySuppliesServiceImpl.java
@@ -1,12 +1,29 @@
package org.springblade.modules.yw.service.impl;
import com.aspose.cad.internal.J.W;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.logging.log4j.util.Strings;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.modules.yw.entity.EmergencySuppliesEntity;
import org.springblade.modules.yw.entity.FirmInfo;
import org.springblade.modules.yw.entity.SuppliesEntity;
import org.springblade.modules.yw.entity.YwAttachEntity;
import org.springblade.modules.yw.excel.EmergencySuppliesExcel;
import org.springblade.modules.yw.service.IFirmInfoService;
import org.springblade.modules.yw.service.ISuppliesService;
import org.springblade.modules.yw.service.IYwAttachService;
import org.springblade.modules.yw.vo.EmergencySuppliesVO;
import org.springblade.modules.yw.mapper.EmergencySuppliesMapper;
import org.springblade.modules.yw.service.IEmergencySuppliesService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
 * 应急物资表 服务实现类
@@ -17,10 +34,137 @@
@Service
public class EmergencySuppliesServiceImpl extends ServiceImpl<EmergencySuppliesMapper, EmergencySuppliesEntity> implements IEmergencySuppliesService {
   @Autowired
   private IFirmInfoService firmInfoService;
   @Autowired
   private ISuppliesService suppliesService;
   @Autowired
   private IYwAttachService attachService;
   /**
    * 自定义分页查询
    * @param page
    * @param emergencySupplies
    * @return
    */
   @Override
   public IPage<EmergencySuppliesVO> selectEmergencySuppliesPage(IPage<EmergencySuppliesVO> page, EmergencySuppliesVO emergencySupplies) {
      return page.setRecords(baseMapper.selectEmergencySuppliesPage(page, emergencySupplies));
   }
   /**
    * 导入应急物资信息
    * @param data
    * @param isCovered
    * @return
    */
   @Override
   public String importEmergencySupplies(List<EmergencySuppliesExcel> data, boolean isCovered) {
      for (EmergencySuppliesExcel emergencySuppliesExcel : data) {
         EmergencySuppliesEntity emergencySuppliesEntity = Objects.requireNonNull(BeanUtil.copy(emergencySuppliesExcel, EmergencySuppliesEntity.class));
         // 物资类型转换
         if (!Strings.isBlank(emergencySuppliesExcel.getType())){
            emergencySuppliesEntity.setType(Integer.parseInt(emergencySuppliesExcel.getType()));
         }
         // 物资单位转换
         if (!Strings.isBlank(emergencySuppliesExcel.getUnit())){
            emergencySuppliesEntity.setUnit(Integer.parseInt(emergencySuppliesExcel.getUnit()));
         }
         // 设置企业和仓库
         setFirm(emergencySuppliesExcel,emergencySuppliesEntity);
         setSupplies(emergencySuppliesExcel,emergencySuppliesEntity);
         // 查询是否已入库
//         Long id = isSave(emergencySuppliesEntity);
         // 已入库
//         if (null!=id){
//            if (isCovered){
//               emergencySuppliesEntity.setId(id);
//                覆盖-更新
//               updateById(emergencySuppliesEntity);
//               continue;
//            }
//         }
         // 保存
         save(emergencySuppliesEntity);
      }
      return null;
   }
   /**
    * 判断物资是否已经入库
    * @param emergencySuppliesEntity
    * @return
    */
   private Long isSave(EmergencySuppliesEntity emergencySuppliesEntity) {
      QueryWrapper<EmergencySuppliesEntity> wrapper = new QueryWrapper<>();
      wrapper.eq("name",emergencySuppliesEntity.getName())
         .eq("firm_id",emergencySuppliesEntity.getFirmId())
         .eq("supplies_id",emergencySuppliesEntity.getSuppliesId())
         .eq("is_deleted",0);
      EmergencySuppliesEntity one = getOne(wrapper);
      if (null!=one){
         return one.getId();
      }
      return null;
   }
   /**
    * 设置企业信息
    * @param emergencySuppliesExcel
    * @param emergencySuppliesEntity
    */
   private void setFirm(EmergencySuppliesExcel emergencySuppliesExcel, EmergencySuppliesEntity emergencySuppliesEntity) {
      QueryWrapper<FirmInfo> wrapper = new QueryWrapper<>();
      wrapper.eq("name",emergencySuppliesExcel.getFirmName())
         .eq("is_deleted",0);
      FirmInfo firmInfo = firmInfoService.getOne(wrapper);
      if (null!=firmInfo){
         emergencySuppliesEntity.setFirmId(firmInfo.getId());
      }
   }
   /**
    * 设置仓库信息
    * @param emergencySuppliesExcel
    * @param emergencySuppliesEntity
    */
   private void setSupplies(EmergencySuppliesExcel emergencySuppliesExcel, EmergencySuppliesEntity emergencySuppliesEntity) {
      QueryWrapper<SuppliesEntity> wrapper = new QueryWrapper<>();
      wrapper.eq("name",emergencySuppliesExcel.getSuppliesName())
         .eq("is_deleted",0);
      if (!emergencySuppliesExcel.getSuppliesName().contains("园区")
         && !emergencySuppliesExcel.getSuppliesName().contains("码头工业城")
         && !emergencySuppliesExcel.getSuppliesName().contains("环境局")
      ){
         wrapper.eq("firm_id",emergencySuppliesEntity.getFirmId());
      }
      SuppliesEntity suppliesEntity = suppliesService.getOne(wrapper);
      if (null!=suppliesEntity){
         emergencySuppliesEntity.setSuppliesId(suppliesEntity.getId());
      }
   }
   /**
    * 获取应急物资信息
    * @param emergencySupplies
    * @return
    */
   @Override
   public Map<String, Object> getEmergencySuppliesList(EmergencySuppliesVO emergencySupplies) {
      Map<String, Object> map = new HashMap<>();
      // 查询企业对应的应急物资信息
      List<EmergencySuppliesVO> list = baseMapper.getEmergencySuppliesList(emergencySupplies);
      map.put("dataList",list);
      // 查询企业对应应急物资的图片
      QueryWrapper<YwAttachEntity> queryWrapper = new QueryWrapper<>();
      queryWrapper.eq("firm_id",emergencySupplies.getFirmId()).eq("type",2).eq("is_deleted",0);
      // 查询
      List<YwAttachEntity> attachEntityList = attachService.list(queryWrapper);
      // 设置
      map.put("picList",attachEntityList);
      // 返回
      return map;
   }
}