From ab5c1c6cbcdeb98d84bdde3c111fe871466d3a5c Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Wed, 15 May 2024 10:38:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResGeneralInvestigationServiceImpl.java |  138 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 138 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResGeneralInvestigationServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResGeneralInvestigationServiceImpl.java
index ea8829e..7b3a65d 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResGeneralInvestigationServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResGeneralInvestigationServiceImpl.java
@@ -1,12 +1,30 @@
 package cn.gistack.sm.sjztmd.service.impl;
 
 import cn.gistack.sm.sjztmd.entity.TbResGeneralInvestigation;
+import cn.gistack.sm.sjztmd.entity.TbResGeneralInvestigationState;
 import cn.gistack.sm.sjztmd.mapper.TbResGeneralInvestigationMapper;
 import cn.gistack.sm.sjztmd.service.ITbResGeneralInvestigationService;
+import cn.gistack.sm.sjztmd.service.ITbResGeneralInvestigationStateService;
+import cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar;
+import cn.gistack.sm.sjztmd.statisticsVO.StatisticsParams;
+import cn.gistack.sm.sjztmd.statisticsVO.StatisticsPie;
+import cn.gistack.sm.sjztmd.statisticsVO.StatisticsTable;
+import cn.gistack.sm.sjztmd.util.CalculateUtils;
+import cn.gistack.sm.sjztmd.vo.TbResGeneralInvestigationParam;
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * @PROJECT_NAME: skjcmanager
@@ -19,4 +37,124 @@
 @Transactional(rollbackFor = Exception.class)
 public class TbResGeneralInvestigationServiceImpl extends ServiceImpl<TbResGeneralInvestigationMapper, TbResGeneralInvestigation> implements ITbResGeneralInvestigationService {
 
+	@Autowired
+	private ITbResGeneralInvestigationStateService tbResGeneralInvestigationStateService;
+
+	@Override
+	@Transactional
+	public R saveOrUpdateBy(TbResGeneralInvestigation entity) {
+
+		QueryWrapper queryWrapper = new QueryWrapper();
+		queryWrapper.eq("\"res_guid\"", entity.getResGuid());
+		queryWrapper.eq("\"tb_year\"", entity.getTbYear());
+//		queryWrapper.eq("\"tb_quarter\"",entity.getTbQuarter());
+		TbResGeneralInvestigationState state = tbResGeneralInvestigationStateService.getOne(queryWrapper);
+		if (null == state) {
+			state = new TbResGeneralInvestigationState();
+			state.setResGuid(entity.getResGuid());
+			state.setTbQuarter(entity.getTbQuarter());
+			state.setTbYear(entity.getTbYear());
+			state.setCreateTime(entity.getCreateTime());
+			state.setCreateUser(entity.getCreateUser());
+		} else {
+			if (state.getCheckState() == 1 || state.getCheckState() == 2) {
+				return R.fail(entity.getResName() + "本年度已经普查完成,不能在提交了。");
+			}
+		}
+
+		// 是否普查完成 1是 0否
+		if (entity.getCheckState() != 0) {
+			state.setCheckState(entity.getIsInvCom());
+		} else {
+			state.setCheckState(0);
+		}
+
+		tbResGeneralInvestigationStateService.saveOrUpdate(state);
+
+		entity.setTbStateId(state.getGuid());
+//		return R.status(this.saveOrUpdate(entity));
+		this.saveOrUpdate(entity);
+		return R.data(entity);
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public R saveOrUpdateByBatch(TbResGeneralInvestigationParam tbResGeneralInvestigationParam) {
+		List<TbResGeneralInvestigation> list = tbResGeneralInvestigationParam.getList();
+		TbResGeneralInvestigation entity = list.get(0);
+
+		//查询该水库本年度是否有填报状态记录
+		QueryWrapper queryWrapper = new QueryWrapper();
+		queryWrapper.eq("\"res_guid\"", entity.getResGuid());
+		queryWrapper.eq("\"tb_year\"", entity.getTbYear());
+		TbResGeneralInvestigationState state = tbResGeneralInvestigationStateService.getOne(queryWrapper);
+		if (null == state) {
+			//无填报状态记录则新建
+			state = new TbResGeneralInvestigationState();
+			state.setResGuid(entity.getResGuid());
+			state.setTbQuarter(entity.getTbQuarter());
+			state.setTbYear(entity.getTbYear());
+			state.setCreateTime(entity.getCreateTime());
+			state.setCreateUser(entity.getCreateUser());
+		} else {
+			//查看填报状态,只有0填报中才可以一直填报
+			if (state.getCheckState() == 1 || state.getCheckState() == 2) {
+				return R.fail(entity.getResName() + "本年度已经普查完成,不能在提交了。");
+			}
+		}
+
+		state.setCheckState(tbResGeneralInvestigationParam.getCheckState());
+		tbResGeneralInvestigationStateService.saveOrUpdate(state);
+//		//先把数据移除
+//		QueryWrapper delete = new QueryWrapper();
+//		delete.eq("\"tb_state_id\"",state.getGuid());
+//		boolean remove = remove(delete);
+//
+//		if (remove){
+//
+//		}
+
+		for (int i = 0; i < list.size(); i++) {
+			TbResGeneralInvestigation tbResGeneralInvestigation = list.get(i);
+			//id清空方便批量新增
+//			tbResGeneralInvestigation.setGuid("");
+
+			if (tbResGeneralInvestigation.getCreateTime() == null) {
+				tbResGeneralInvestigation.setCreateTime(DateUtil.now());
+			}
+
+			if (tbResGeneralInvestigation.getCreateUser() == null) {
+				tbResGeneralInvestigation.setCreateUser(AuthUtil.getUserId().toString());
+			}
+
+			//设置状态表id
+			tbResGeneralInvestigation.setTbStateId(state.getGuid());
+		}
+		return R.status(saveOrUpdateBatch(list));
+	}
+
+	@Override
+	public StatisticsPie statisticsPie(StatisticsParams statisticsParams) {
+		return baseMapper.statisticsPie(statisticsParams);
+	}
+
+
+	@Override
+	public List<StatisticsBar> statisticsBar(StatisticsParams statisticsParams) {
+		List<StatisticsBar> list = baseMapper.getStatisticsBar(statisticsParams);
+		return list;
+	}
+
+	@Override
+	public List<StatisticsTable> statisticsTable(StatisticsParams statisticsParams) {
+
+		List<StatisticsTable> list = baseMapper.getStatisticsTable(statisticsParams);
+
+		list.forEach(statisticsTable -> {
+			statisticsTable.setUnInvestigationResNum(statisticsTable.getResNum() - statisticsTable.getInvestigationResNum());
+			statisticsTable.setUnInvestigationDykeNum(statisticsTable.getDykeNum() - statisticsTable.getInvestigationDykeNum());
+		});
+
+		return list;
+	}
 }

--
Gitblit v1.9.3