lin
2024-03-25 9f8f9d13c42ca8cdccbf351069082a5fdccef2e4
src/main/java/org/springblade/modules/disputeRecord/service/impl/DisputeRecordServiceImpl.java
@@ -1,15 +1,27 @@
package org.springblade.modules.disputeRecord.service.impl;
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.common.param.CommonParamSet;
import org.springblade.common.param.GridSet;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.modules.backblast.entity.BackblastWarnHanRecEntity;
import org.springblade.modules.disputeRecord.entity.DisputeRecordEntity;
import org.springblade.modules.disputeRecord.excel.DisputeRecordExcel;
import org.springblade.modules.disputeRecord.excel.ExportDisputeRecordExcel;
import org.springblade.modules.disputeRecord.vo.DisputeRecordVO;
import org.springblade.modules.disputeRecord.mapper.DisputeRecordMapper;
import org.springblade.modules.disputeRecord.service.IDisputeRecordService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
 * 矛盾纠纷记录表 服务实现类
@@ -59,4 +71,92 @@
   public DisputeRecordVO getDetail(DisputeRecordVO disputeRecord) {
      return baseMapper.getDetail(disputeRecord);
   }
   /**
    * 矛盾纠纷事件数据导入类
    * @param data
    * @param isCovered
    */
   @Override
   @Transactional(rollbackFor = Exception.class)
   public void importDisputeRecord(List<DisputeRecordExcel> data, Boolean isCovered) {
      for (DisputeRecordExcel disputeRecordExcel : data) {
         // 获取转换数据对象
         DisputeRecordEntity disputeRecordEntity
            = Objects.requireNonNull(BeanUtil.copy(disputeRecordExcel, DisputeRecordEntity.class));
         //处理经纬度
         GridSet gridSet
            = new GridSet<>().invoke(DisputeRecordEntity.class, disputeRecordEntity, "lng", "lat", "gridCode", "jwGridCode");
         //处理需要转换的数据(字典/非字典)
         // 纠纷类型
         if (!Strings.isBlank(disputeRecordExcel.getDisputeType())) {
            disputeRecordEntity.setDisputeType(Integer.parseInt(disputeRecordExcel.getDisputeType()));
         }
         // 信息来源
         if (!Strings.isBlank(disputeRecordExcel.getSource())) {
            disputeRecordEntity.setSource(Integer.parseInt(disputeRecordExcel.getSource()));
         }
         // 受伤情况 0:否 1:是
         if (!Strings.isBlank(disputeRecordExcel.getInjuryFlag())) {
            if (disputeRecordExcel.getInjuryFlag().equals("是")){
               disputeRecordEntity.setInjuryFlag(1);
            }
            if (disputeRecordExcel.getInjuryFlag().equals("否")){
               disputeRecordEntity.setInjuryFlag(0);
            }
         }
         // 处理结果 1:已化解 2:未化解 3:移送e呼即办
         if (!Strings.isBlank(disputeRecordExcel.getHandleResult())) {
            if (disputeRecordExcel.getHandleResult().equals("已化解")) {
               disputeRecordEntity.setHandleResult(1);
            }
            if (disputeRecordExcel.getHandleResult().equals("未化解")) {
               disputeRecordEntity.setHandleResult(2);
            }
            if (disputeRecordExcel.getHandleResult().equals("移送e呼即办")) {
               disputeRecordEntity.setHandleResult(3);
            }
         }
         // 日期处理
         if (!Strings.isBlank(disputeRecordExcel.getEventTime())) {
            try {
               Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(disputeRecordExcel.getEventTime());
               disputeRecordEntity.setEventTime(date);
            } catch (ParseException e) {
               e.printStackTrace();
            }
         }
         // 判断是否重复
         QueryWrapper<DisputeRecordEntity> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("address", disputeRecordExcel.getAddress())
            .eq("event_time", disputeRecordEntity.getEventTime())
            .eq("is_deleted", 0);
         // 查询
         List<DisputeRecordEntity> list = list(queryWrapper);
         if (list.size()>0){
            // 更新
            disputeRecordEntity.setId(list.get(0).getId());
            // 更新
            updateById(disputeRecordEntity);
         }else {
            // 插入
            save(disputeRecordEntity);
         }
      }
   }
   /**
    * 导出矛盾纠纷记录表
    * @param disputeRecord
    * @return
    */
   @Override
   public List<ExportDisputeRecordExcel> exportDisputeRecordList(DisputeRecordVO disputeRecord) {
      CommonParamSet commonParamSet = new CommonParamSet<>().invoke(DisputeRecordVO.class, disputeRecord);
      return baseMapper.exportDisputeRecordList(
            disputeRecord,
            commonParamSet.getIsAdministrator(),
            commonParamSet.getRegionChildCodesList(),
            commonParamSet.getGridCodeList());
   }
}