From 08a962d2925baa255207fdf979e6fee794f1773b Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Fri, 19 Jul 2024 12:25:19 +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/TbProjectServiceImpl.java |  156 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 150 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..bc6e0f8 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,24 @@
 package cn.gistack.sm.sjztmd.service.impl;
 
 import cn.gistack.sm.sjztmd.dto.TbProjectDTO;
+import cn.gistack.sm.sjztmd.dto.TbProjectIsfillDTO;
+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.IAttAdBaseService;
+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.StatisticsPie;
+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.StatisticsPrice;
+import cn.gistack.sm.sjztmd.vo.StatisticsPriceVO;
+import cn.gistack.sm.sjztmd.vo.TbProjectIsfillVO;
 import cn.gistack.sm.sjztmd.vo.TbProjectVO;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -16,10 +27,14 @@
 import org.springblade.core.secure.utils.AuthUtil;
 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.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 
 @Service
@@ -29,6 +44,9 @@
 public class TbProjectServiceImpl extends ServiceImpl<TbProjectMapper, TbProject> implements ITbProjectService {
 
 	private final ITbProjectScheduleService tbProjectScheduleService;
+	private final IAttResBaseService attResBaseService;
+	@Autowired
+	private  IAttAdBaseService iAttAdBaseService;
 
 	@Override
 	public Object getList(TbProjectVO tbProjectVO, IPage<TbProjectVO> page) {
@@ -46,6 +64,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 +78,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 +107,125 @@
 	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);
+	}
+
+	@Override
+	public StatisticsPrice statisticsPie(StatisticsParams statisticsParams) {
+
+		AttAdBase ywxtAdDetail = iAttAdBaseService.getYwxtAdDetail(statisticsParams.getAdCode());
+		if (ywxtAdDetail.getAdGrad().equals("1")) {
+			StatisticsPrice	 statisticsPie =baseMapper.getStatisticsPie(statisticsParams);
+			return statisticsPie;
+		}
+		StatisticsPrice statisticsPie =baseMapper.getStatisticsPies(statisticsParams);
+
+		return statisticsPie;
+	}
+
+	@Override
+	public List<StatisticsPriceVO> statisticsBar(StatisticsParams statisticsParams) {
+		AttAdBase ywxtAdDetail = iAttAdBaseService.getYwxtAdDetail(statisticsParams.getAdCode());
+		if (ywxtAdDetail.getAdGrad().equals("1")) {
+			List<StatisticsPriceVO>	 statisticsPieBar =baseMapper.getStatisticsPieBar(statisticsParams);
+			return statisticsPieBar;
+		}
+		List<StatisticsPriceVO>	 statisticsPieBar =baseMapper.getStatisticsPieBars(statisticsParams);
+		return statisticsPieBar;
+	}
+
+	@Override
+	public void updateallcheck() throws Exception {
+		Date now = new Date();
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+		String today = sdf.format(now);
+
+		// 转换为年月格式,用于检查是否为月初
+		String yearMonth = sdf.format(sdf.parse(today).getTime()).substring(0, 7);
+		// 检查当前日期是否为月初
+		if (today.startsWith(yearMonth + "-01")) {
+			baseMapper.updateallcheck();
+		} else {
+			System.out.println("不是月初,不予修改状态");
+		}
+
+	}
+
+	@Override
+	public void updateFill(TbProjectIsfillDTO fil) {
+		baseMapper.updateFill(fil);
+	}
+
+	@Override
+	public TbProjectIsfillVO getfill() {
+		return baseMapper.getfill();
+	}
 }

--
Gitblit v1.9.3