From 09001482e420ec864cddba02499d9fc0e94bc44c Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 25 Mar 2024 11:24:43 +0800
Subject: [PATCH] 新增矛盾纠纷事发时间,导入,导出接口

---
 src/main/java/org/springblade/modules/disputeRecord/service/impl/DisputeRecordServiceImpl.java |  100 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 100 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/disputeRecord/service/impl/DisputeRecordServiceImpl.java b/src/main/java/org/springblade/modules/disputeRecord/service/impl/DisputeRecordServiceImpl.java
index 7768389..c33ccca 100644
--- a/src/main/java/org/springblade/modules/disputeRecord/service/impl/DisputeRecordServiceImpl.java
+++ b/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());
+	}
 }

--
Gitblit v1.9.3