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;
|
|
/**
|
* 矛盾纠纷记录表 服务实现类
|
*
|
* @author BladeX
|
* @since 2024-03-23
|
*/
|
@Service
|
public class DisputeRecordServiceImpl extends ServiceImpl<DisputeRecordMapper, DisputeRecordEntity> implements IDisputeRecordService {
|
|
@Override
|
public IPage<DisputeRecordVO> selectDisputeRecordPage(IPage<DisputeRecordVO> page, DisputeRecordVO disputeRecord) {
|
CommonParamSet commonParamSet = new CommonParamSet<>().invoke(DisputeRecordVO.class, disputeRecord);
|
return page.setRecords(
|
baseMapper.selectDisputeRecordPage(page,
|
disputeRecord,
|
commonParamSet.getIsAdministrator(),
|
commonParamSet.getRegionChildCodesList(),
|
commonParamSet.getGridCodeList())
|
);
|
}
|
|
/**
|
* 矛盾纠纷记录表 自定义新增或修改
|
* @param disputeRecord
|
* @return
|
*/
|
@Override
|
public boolean saveOrUpdateDisputeRecord(DisputeRecordEntity disputeRecord) {
|
// 点落面计算警格,网格,警格
|
GridSet invoke = new GridSet().invoke(DisputeRecordEntity.class, disputeRecord,
|
"lng", "lat", "gridCode", "jwGridCode");
|
if (null!=disputeRecord.getId()){
|
// 更新
|
return updateById(disputeRecord);
|
}
|
// 新增
|
return save(disputeRecord);
|
}
|
|
/**
|
* 矛盾纠纷记录表 自定义详情
|
* @param disputeRecord
|
* @return
|
*/
|
@Override
|
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性别 1:男 2:女
|
if (!Strings.isBlank(disputeRecordExcel.getGenderOne())) {
|
if (disputeRecordExcel.getGenderOne().contains("男")){
|
disputeRecordEntity.setGenderOne(1);
|
}
|
if (disputeRecordExcel.getGenderOne().contains("女")){
|
disputeRecordEntity.setGenderOne(2);
|
}
|
}
|
// 当事人2性别 1:男 2:女
|
if (!Strings.isBlank(disputeRecordExcel.getGenderTwo())) {
|
if (disputeRecordExcel.getGenderTwo().contains("男")){
|
disputeRecordEntity.setGenderTwo(1);
|
}
|
if (disputeRecordExcel.getGenderTwo().contains("女")){
|
disputeRecordEntity.setGenderTwo(2);
|
}
|
}
|
// 处理结果 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());
|
}
|
}
|