From a6e044780082d6a6507f64edb9a5242b779fb6ee Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 25 Mar 2024 14:38:32 +0800
Subject: [PATCH] 项目填报导入接口

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbProjectServiceImpl.java |   66 +++++++++++++++++++++++++++++++++
 1 files changed, 66 insertions(+), 0 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..d6ea93d 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,17 @@
 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.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;
@@ -19,6 +23,7 @@
 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) {
@@ -84,4 +90,64 @@
 	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);
+			}
+		});
+	}
 }

--
Gitblit v1.9.3