From a4cd27af8c445e2b043aa146ee38f04222c992e7 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Sun, 31 Mar 2024 15:24:21 +0800
Subject: [PATCH] 人工上报

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/service/impl/DwsResFormDiServiceImpl.java |  175 ++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 134 insertions(+), 41 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/service/impl/DbPersonReportServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/service/impl/DwsResFormDiServiceImpl.java
similarity index 60%
rename from skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/service/impl/DbPersonReportServiceImpl.java
rename to skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/service/impl/DwsResFormDiServiceImpl.java
index f966765..927ca3d 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/service/impl/DbPersonReportServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztdw/service/impl/DwsResFormDiServiceImpl.java
@@ -1,11 +1,10 @@
 package cn.gistack.sm.sjztdw.service.impl;
 
-import cn.gistack.sm.sjztdw.entity.DwsRainResDi;
-import cn.gistack.sm.sjztdw.entity.DwsResPressDi;
-import cn.gistack.sm.sjztdw.entity.DwsResSlDi;
-import cn.gistack.sm.sjztdw.entity.DwsWaterResZEightDetailAll;
+import cn.gistack.sm.sjztdw.entity.*;
 import cn.gistack.sm.sjztdw.excel.DbExcel;
+import cn.gistack.sm.sjztdw.mapper.DwsResFormDiMapper;
 import cn.gistack.sm.sjztdw.service.*;
+import cn.gistack.sm.sjztdw.vo.DbExcelVO;
 import cn.gistack.sm.sjztmd.service.IAttResBaseService;
 import cn.gistack.sm.sjztmd.vo.AttResAdVO;
 import cn.gistack.sm.sjztods.entity.DsmSpgSpprmp;
@@ -13,11 +12,8 @@
 import cn.gistack.sm.sjztods.service.IDsmSpgSpprmpService;
 import cn.gistack.sm.sjztods.service.IDsmSpgSpqnmpService;
 import com.baomidou.dynamic.datasource.annotation.DS;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.AllArgsConstructor;
-import org.apache.logging.log4j.util.Strings;
-import org.springblade.core.mp.support.Condition;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -31,14 +27,17 @@
 @Service
 @AllArgsConstructor
 @Transactional(rollbackFor = Exception.class)
-public class DbPersonReportServiceImpl implements IDbPersonReportService {
+@DS("ztdw")
+public class DwsResFormDiServiceImpl extends ServiceImpl<DwsResFormDiMapper, DwsResFormDi> implements IDwsResFormDiService {
 	private IAttResBaseService attResBaseService;
+
+	//日数据监测
 	private IDwsRainResDiService dwsRainResDiService;
 	private IDwsWaterResZEightDetailAllService dwsWaterResZEightDetailAllService;
 	private IDwsResPressDiService dwsResPressDiService;
 	private IDwsResSlDiService dwsResSlDiService;
 
-
+	//测点表
 	private IDsmSpgSpqnmpService dsmSpgSpqnmpService;
 	private IDsmSpgSpprmpService dsmSpgSpprmpService;
 
@@ -63,53 +62,147 @@
 
 		data.forEach(dbExcel->{
 
-			//存雨情数据
-			saveDayRainFall(dbExcel,resAd);
+			if (StringUtil.isBlank(dbExcel.getRz())){
+				dbExcel.setRz("");
+			}
+			if (StringUtil.isBlank(dbExcel.getDrp())){
+				dbExcel.setDrp("");
+			}
+			if (StringUtil.isBlank(dbExcel.getLowZ())){
+				dbExcel.setLowZ("");
+			}
+			if (StringUtil.isBlank(dbExcel.getAvgValue())){
+				dbExcel.setAvgValue("");
+			}
+			if (StringUtil.isBlank(dbExcel.getAvgSpqnValue())){
+				dbExcel.setAvgSpqnValue("");
+			}
 
-			//存水位数据
-			saveWaterLevel(dbExcel,resAd);
+			//存总表数据
+			Integer i = baseMapper.updateCustomize(dbExcel,resAd,ch);
+			if (i<=0){
+				baseMapper.save(dbExcel,resAd,ch);
+			}
 
-			//存渗压数据
-			saveSy(dbExcel,resAd,dsmSpgSpprmpList);
+			if (StringUtil.isNotBlank(dbExcel.getDrp())){
+				//存雨情数据
+				saveDayRainFall(dbExcel,resAd);
+			}
 
+			if (StringUtil.isNotBlank(dbExcel.getRz()) || StringUtil.isNotBlank(dbExcel.getLowZ())){
+				//存水位数据
+				saveWaterLevel(dbExcel,resAd);
+			}
 
-			//存渗流数据
-			saveSl(dbExcel,resAd,dsmSpgSpqnmpList);
+			if (StringUtil.isNotBlank(dbExcel.getAvgValue())){
+				//存渗压数据
+				saveSy(dbExcel,resAd,dsmSpgSpprmpList);
+			}
+
+			if (StringUtil.isNotBlank(dbExcel.getAvgSpqnValue())){
+				//存渗流数据
+				saveSl(dbExcel,resAd,dsmSpgSpqnmpList);
+			}
+
 
 		});
 	}
 
+	@Override
+	public Boolean update(DbExcelVO dbExcel) {
+
+
+		baseMapper.edit(dbExcel);
+
+		//根据日期更新数据
+		if (StringUtil.isNotBlank(dbExcel.getMonitorDate())){
+
+
+
+			Integer a = dwsRainResDiService.updateByBasic(dbExcel);
+			Integer b = dwsWaterResZEightDetailAllService.updateByBasic(dbExcel);
+
+			Integer c = dwsResPressDiService.updateByBasic(dbExcel);
+			Integer d = dwsResSlDiService.updateByBasic(dbExcel);
+
+			boolean b1 = a > 0;
+			boolean b2 = b > 0;
+			boolean b3 = c > 0;
+			boolean b4 = d > 0;
+			return true;
+		}
+
+		return false;
+	}
+
+	@Override
+	public Boolean remove(DbExcelVO dbExcelVO) {
+
+		baseMapper.remove(dbExcelVO);
+
+		//根据日期删除数据
+		if (StringUtil.isNotBlank(dbExcelVO.getMonitorDate())){
+			Integer a = dwsRainResDiService.removeByBasic(dbExcelVO);
+			Integer b = dwsWaterResZEightDetailAllService.removeByBasic(dbExcelVO);
+			Integer c = dwsResPressDiService.removeByBasic(dbExcelVO);
+			Integer d = dwsResSlDiService.removeByBasic(dbExcelVO);
+
+			boolean b1 = a > 0;
+			boolean b2 = b > 0;
+			boolean b3 = c > 0;
+			boolean b4 = d > 0;
+
+			return b1&&b2&&b3&&b4;
+		}
+
+		return null;
+	}
+
+	@Override
+	public Boolean removeBatch(List<DbExcelVO> list) {
+
+		list.forEach(e->{
+			remove(e);
+		});
+
+		return true;
+	}
+
 	private void saveSy(DbExcel dbExcel, AttResAdVO resAd,List<DsmSpgSpprmp> list) {
+		try {
+			//excel数据应是按测压管从小到大
+			List<String> avgValueList = Arrays.asList(dbExcel.getAvgValue().split(","));
 
-		//excel数据应是按测压管从小到大
-		List<String> avgValueList = Arrays.asList(dbExcel.getAvgValue().split(","));
+			//有渗压站才添加
+			if (list !=null && list.size()>0){
+				for (int i = 0; i < avgValueList.size(); i++) {
+					String avgValue = avgValueList.get(i);
+					DsmSpgSpprmp dsmSpgSpprmp = list.get(i);
 
-		//有渗压站才添加
-		if (list !=null && list.size()>0){
-			for (int i = 0; i < avgValueList.size(); i++) {
-				String avgValue = avgValueList.get(i);
-				DsmSpgSpprmp dsmSpgSpprmp = list.get(i);
+					DwsResPressDi dwsResPressDi = new DwsResPressDi();
+					//站点编码
+					dwsResPressDi.setCd(dsmSpgSpprmp.getMpcd());
+					//站点名称
+					dwsResPressDi.setCdNm(dsmSpgSpprmp.getMpcd());
 
-				DwsResPressDi dwsResPressDi = new DwsResPressDi();
-				//站点编码
-				dwsResPressDi.setCd(dsmSpgSpprmp.getMpcd());
-				//站点名称
-				dwsResPressDi.setCdNm(dsmSpgSpprmp.getMpcd());
+					dwsResPressDi.setResCd(resAd.getResGuid());
+					dwsResPressDi.setResNm(resAd.getResName());
+					dwsResPressDi.setAvgValue(avgValue);
 
-				dwsResPressDi.setResCd(resAd.getResGuid());
-				dwsResPressDi.setResNm(resAd.getResName());
-				dwsResPressDi.setAvgValue(avgValue);
+					Date date = dateFormatString(dbExcel.getMonitorDate(), "yyyy-MM-dd");
+					dwsResPressDi.setDt(date);
+					dwsResPressDi.setIsTb("y");
 
-				Date date = dateFormatString(dbExcel.getMonitorDate(), "yyyy-MM-dd");
-				dwsResPressDi.setDt(date);
-				dwsResPressDi.setIsTb("y");
-
-				Integer result = dwsResPressDiService.updateCustomize(dwsResPressDi);
-				if (result<=0){
-					dwsResPressDiService.save(dwsResPressDi);
+					Integer result = dwsResPressDiService.updateCustomize(dwsResPressDi);
+					if (result<=0){
+						dwsResPressDiService.save(dwsResPressDi);
+					}
 				}
 			}
+		}catch (Exception e){
+			throw new RuntimeException("表格渗压数据个数超过当前水库断面测点个数");
 		}
+
 
 	}
 
@@ -212,7 +305,7 @@
 		dwsWaterResZEightDetailAll.setResourceFlag("人工");
 		dwsWaterResZEightDetailAll.setIsTb("y");
 
-		Date date = dateFormatString(dbExcel.getMonitorDate(), "yyyy-MM-dd 08:00:00");
+		Date date = dateFormatString(dbExcel.getMonitorDate() +  " 08:00:00", "yyyy-MM-dd 08:00:00");
 		dwsWaterResZEightDetailAll.setDt(date);
 		dwsWaterResZEightDetailAll.setTm(date);
 		dwsWaterResZEightDetailAll.setCollectDt(date);

--
Gitblit v1.9.3