From c10d6358b9f014375a13821465bc978d0c0da22e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Wed, 29 May 2024 17:17:08 +0800
Subject: [PATCH] 通过E呼即办数据统计

---
 src/main/java/org/springblade/modules/task/service/impl/TaskNoFraudReportingServiceImpl.java |   80 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 73 insertions(+), 7 deletions(-)

diff --git a/src/main/java/org/springblade/modules/task/service/impl/TaskNoFraudReportingServiceImpl.java b/src/main/java/org/springblade/modules/task/service/impl/TaskNoFraudReportingServiceImpl.java
index ff46c49..ef6896f 100644
--- a/src/main/java/org/springblade/modules/task/service/impl/TaskNoFraudReportingServiceImpl.java
+++ b/src/main/java/org/springblade/modules/task/service/impl/TaskNoFraudReportingServiceImpl.java
@@ -16,28 +16,29 @@
  */
 package org.springblade.modules.task.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang3.StringUtils;
 import org.springblade.common.constant.CommonConstant;
 import org.springblade.common.constant.DictConstant;
+import org.springblade.common.exception.CustomException;
 import org.springblade.common.param.CommonParamSet;
+import org.springblade.common.param.GridSet;
 import org.springblade.common.utils.SpringUtils;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.SpringUtil;
-import org.springblade.modules.task.dto.TaskNoFraudReportingDTO;
-import org.springblade.modules.task.dto.TaskPlaceSelfCheckDTO;
+import org.springblade.modules.task.entity.TaskNoFraudReportingEntity;
 import org.springblade.modules.task.entity.TaskPlaceRecordEntity;
+import org.springblade.modules.task.excel.TaskNoExplosionExcel;
 import org.springblade.modules.task.mapper.TaskNoFraudReportingMapper;
 import org.springblade.modules.task.service.ITaskNoFraudReportingService;
-import org.springblade.modules.task.entity.TaskNoFraudReportingEntity;
 import org.springblade.modules.task.service.ITaskPlaceRecordService;
 import org.springblade.modules.task.service.ITaskService;
 import org.springblade.modules.task.vo.TaskNoFraudReportingVO;
-import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.modules.task.vo.TaskPlaceRecordVO;
-import org.springblade.modules.task.vo.TaskPlaceSelfCheckVO;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -63,6 +64,17 @@
 	}
 
 	@Override
+	public Integer selectTaskNoFraudReportingCount(TaskNoFraudReportingVO taskNoFraudReporting) {
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskNoFraudReportingVO.class, taskNoFraudReporting);
+		Integer count = baseMapper.selectTaskNoFraudReportingCount(
+			taskNoFraudReporting,
+			commonParamSet.getIsAdministrator(),
+			commonParamSet.getRegionChildCodesList(),
+			commonParamSet.getGridCodeList());
+		return count;
+	}
+
+	@Override
 	public TaskNoFraudReportingVO selectTaskNoFraudReportingById(TaskNoFraudReportingEntity taskNoFraudReporting) {
 		return this.baseMapper.selectTaskNoFraudReportingById(taskNoFraudReporting);
 	}
@@ -78,6 +90,12 @@
 			return false;
 		}
 		taskNoFraudReporting.setTaskId(aLong);
+		// 计算网格
+		if (StringUtils.isNotBlank(taskNoFraudReporting.getLng()) && StringUtils.isNotBlank(taskNoFraudReporting.getLat())) {
+			// 点落面计算警格,网格,警格
+			GridSet invoke = new GridSet().invoke(TaskNoFraudReportingVO.class, taskNoFraudReporting,
+				"lng", "lat", "gridCode", "jwGridCode");
+		}
 		// 2.保存任务详情
 		boolean save = save(taskNoFraudReporting);
 		if (save) {
@@ -89,7 +107,7 @@
 				item.setCreateUser(AuthUtil.getUserId());
 				item.setType("2");
 			});
-			List<TaskPlaceRecordEntity> collect = taskPlaceRecordList.stream().filter(item -> StringUtils.isNotBlank(item.getImageUrls())).collect(Collectors.toList());
+			List<TaskPlaceRecordEntity> collect = taskPlaceRecordList.stream().collect(Collectors.toList());
 			if (collect.size() > 0) {
 				bean.saveBatch(collect);
 			}
@@ -98,4 +116,52 @@
 		}
 		return false;
 	}
+
+	@Override
+	public List<TaskNoExplosionExcel> exportTaskNoFraudReporting(TaskNoFraudReportingVO taskNoFraudReportingVO) {
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(TaskNoFraudReportingVO.class, taskNoFraudReportingVO);
+		List<TaskNoExplosionExcel> taskNoExplosionExcels = baseMapper.selectTaskNoFraudReporting(
+			taskNoFraudReportingVO,
+			commonParamSet.getIsAdministrator(),
+			commonParamSet.getRegionChildCodesList(),
+			commonParamSet.getGridCodeList());
+		return taskNoExplosionExcels;
+	}
+
+	/**
+	 * 更新
+	 *
+	 * @param taskNoFraudReporting
+	 * @return
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public Boolean updateTaskNoFraudReporting(TaskNoFraudReportingVO taskNoFraudReporting) {
+		// 1.更新任务表
+		ITaskService taskService = SpringUtils.getBean(ITaskService.class);
+		Long aLong = taskService.updateTask(null, null, null, taskNoFraudReporting.getReasonFailure(), AuthUtil.getUserId(), taskNoFraudReporting.getTaskId(), taskNoFraudReporting.getStatus());
+		if (aLong <= 0) {
+			return false;
+		}
+		// 2.更新任务详情
+		boolean save = updateById(taskNoFraudReporting);
+		if (save) {
+			// 3.更新或新增题目记录
+			List<TaskPlaceRecordVO> taskPlaceRecordList = taskNoFraudReporting.getTaskPlaceRecordVOList();
+			if (taskPlaceRecordList != null && taskPlaceRecordList.size() > 0) {
+				ITaskPlaceRecordService bean = SpringUtil.getBean(ITaskPlaceRecordService.class);
+				List<TaskPlaceRecordEntity> recordEntityList = BeanUtil.copy(taskPlaceRecordList, TaskPlaceRecordEntity.class);
+				for (TaskPlaceRecordEntity taskPlaceRecordEntity : recordEntityList) {
+					taskPlaceRecordEntity.setType("2");
+				}
+				boolean result = bean.saveOrUpdateBatch(recordEntityList);
+				if (result) {
+					return result;
+				}
+				throw new CustomException("保存失败!");
+			}
+			return save;
+		}
+		throw new CustomException("保存失败!");
+	}
 }

--
Gitblit v1.9.3