From e986d4f68bea04a82dfcbfa1d65f62720c928864 Mon Sep 17 00:00:00 2001
From: yxm <zhp1521624>
Date: Fri, 28 Jun 2024 11:49:08 +0800
Subject: [PATCH] 项目管理校验状态优化v20240628

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbProjectServiceImpl.java |   93 +++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 87 insertions(+), 6 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbProjectServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbProjectServiceImpl.java
index 6c92c61..eb66de5 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbProjectServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbProjectServiceImpl.java
@@ -1,13 +1,18 @@
 package cn.gistack.sm.sjztmd.service.impl;
 
 import cn.gistack.sm.sjztmd.dto.TbProjectDTO;
+import cn.gistack.sm.sjztmd.entity.AttAdBase;
 import cn.gistack.sm.sjztmd.entity.TbProject;
 import cn.gistack.sm.sjztmd.entity.TbProjectSchedule;
+import cn.gistack.sm.sjztmd.excel.TbProjectExcel;
 import cn.gistack.sm.sjztmd.mapper.TbProjectMapper;
+import cn.gistack.sm.sjztmd.service.IAttResBaseService;
 import cn.gistack.sm.sjztmd.service.ITbProjectScheduleService;
 import cn.gistack.sm.sjztmd.service.ITbProjectService;
 import cn.gistack.sm.sjztmd.statisticsVO.StatisticsParams;
+import cn.gistack.sm.sjztmd.statisticsVO.StatisticsTable;
 import cn.gistack.sm.sjztmd.statisticsVO.StatisticsTableProject;
+import cn.gistack.sm.sjztmd.util.CalculateUtils;
 import cn.gistack.sm.sjztmd.vo.TbProjectVO;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -18,7 +23,7 @@
 import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-
+import java.math.BigDecimal;
 import java.util.Arrays;
 import java.util.List;
 
@@ -29,6 +34,7 @@
 public class TbProjectServiceImpl extends ServiceImpl<TbProjectMapper, TbProject> implements ITbProjectService {
 
 	private final ITbProjectScheduleService tbProjectScheduleService;
+	private final IAttResBaseService attResBaseService;
 
 	@Override
 	public Object getList(TbProjectVO tbProjectVO, IPage<TbProjectVO> page) {
@@ -46,6 +52,11 @@
 
 		tbProjectDTO.setUpdateUser(AuthUtil.getUserId().toString());
 		tbProjectDTO.setUpdateTime(DateUtil.now());
+		if(tbProjectDTO.getIsFill().equals("0")){
+			tbProjectDTO.setCheckState("0");
+		}else if(tbProjectDTO.getIsFill().equals("1")){
+			tbProjectDTO.setCheckState("1");
+		}
 		//更新项目表
 		boolean update = updateById(tbProjectDTO);
 
@@ -55,12 +66,12 @@
 		if (tbProjectScheduleList != null && tbProjectScheduleList.size()>0){
 			tbProjectScheduleList.forEach(tbProjectSchedule -> {
 				tbProjectSchedule.setTbProjectId(tbProjectDTO.getGuid());
-				tbProjectDTO.setUpdateUser(AuthUtil.getUserId().toString());
-				tbProjectDTO.setUpdateTime(DateUtil.now());
+				tbProjectSchedule.setUpdateUser(AuthUtil.getUserId().toString());
+				tbProjectSchedule.setUpdateTime(DateUtil.now());
 
-				if (StringUtil.isBlank(tbProjectDTO.getGuid())){
-					tbProjectDTO.setCreateUser(AuthUtil.getUserId().toString());
-					tbProjectDTO.setCreateTime(DateUtil.now());
+				if (StringUtil.isBlank(tbProjectSchedule.getGuid())){
+					tbProjectSchedule.setCreateUser(AuthUtil.getUserId().toString());
+					tbProjectSchedule.setCreateTime(DateUtil.now());
 				}
 				tbProjectScheduleService.saveOrUpdate(tbProjectSchedule);
 			});
@@ -84,4 +95,74 @@
 	public List<StatisticsTableProject> getStatisticsTable(StatisticsParams statisticsParams) {
 		return baseMapper.getStatisticsTable(statisticsParams);
 	}
+
+	@Override
+	public void importUser(List<TbProjectExcel> data, Boolean isCovered) {
+		data.forEach(tbProjectExcel -> {
+
+			String cityName = tbProjectExcel.getCityName();
+			String countyName = tbProjectExcel.getCountyName();
+
+			AttAdBase attAdBase = attResBaseService.getYwxtResInfo(cityName,countyName);
+
+			TbProject params = new TbProject();
+
+			params.setCityCode(attAdBase.getPAdCode());
+			params.setCountyCode(attAdBase.getAdCode());
+			params.setTbYear(tbProjectExcel.getTbYear());
+
+
+			TbProject tbProject = baseMapper.getTbProjectInfo(params);
+
+			if (tbProject != null){
+				//有这条数据,更新
+
+				//更新中央资金
+				BigDecimal oldCenterFund = new BigDecimal(tbProject.getCenterFund());
+				BigDecimal newCenterFund = new BigDecimal(tbProjectExcel.getCenterFund());
+				tbProject.setCenterFund(CalculateUtils.add(oldCenterFund,newCenterFund));
+
+				//更新地方资金
+				BigDecimal oldLocalFund = new BigDecimal(tbProject.getCenterFund());
+				BigDecimal newLocalFund = new BigDecimal(tbProjectExcel.getCenterFund());
+				tbProject.setLocalFund(CalculateUtils.add(oldLocalFund,newLocalFund));
+
+				//更新修改人,修改时间
+				tbProject.setUpdateUser(AuthUtil.getUserId().toString());
+				tbProject.setUpdateTime(DateUtil.now());
+
+				updateById(tbProject);
+			} else {
+				//无数据,新增
+				TbProject save = new TbProject();
+				save.setUpdateUser(AuthUtil.getUserId().toString());
+				save.setCreateUser(AuthUtil.getUserId().toString());
+				save.setCreateTime(DateUtil.now());
+				save.setUpdateTime(DateUtil.now());
+
+				save.setCityName(attAdBase.getPAdName());
+				save.setCityCode(attAdBase.getPAdCode());
+
+				save.setCountyName(attAdBase.getAdName());
+				save.setCountyCode(attAdBase.getAdCode());
+
+				save.setCenterFund(tbProjectExcel.getCenterFund());
+				save.setLocalFund(tbProjectExcel.getLocalFund());
+
+				save.setTbYear(tbProjectExcel.getTbYear());
+
+				save(save);
+			}
+		});
+	}
+
+	@Override
+	public boolean updatecheckState(String id,String checkState) {
+		TbProject tbProject = getById(id);
+		if(checkState.equals("0")){
+			tbProject.setIsFill(checkState);
+		}
+		tbProject.setCheckState(checkState);
+		return saveOrUpdate(tbProject);
+	}
 }

--
Gitblit v1.9.3