From 5613052418903a5780a8cb77c29eab4ef8066bee Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 14 十二月 2023 20:18:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StatisticConfigServiceImpl.java |  105 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 105 insertions(+), 0 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StatisticConfigServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StatisticConfigServiceImpl.java
new file mode 100644
index 0000000..0c5c98c
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/StatisticConfigServiceImpl.java
@@ -0,0 +1,105 @@
+package com.vci.ubcs.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.system.entity.MdmCountConfig;
+import com.vci.ubcs.system.entity.StatisticConfig;
+import com.vci.ubcs.system.mapper.MdmCountConfigMapper;
+import com.vci.ubcs.system.mapper.StatisticConfigMapper;
+import com.vci.ubcs.system.service.IMdmCountConfigService;
+import com.vci.ubcs.system.service.IStatisticConfigService;
+import com.vci.ubcs.system.vo.MdmCountConfigVO;
+import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * 涓绘暟鎹粺璁¢椤甸厤缃湇鍔�
+ * @author ludc
+ * @date 2023/10/17 14:45
+ */
+@Service
+public class StatisticConfigServiceImpl extends ServiceImpl<StatisticConfigMapper, StatisticConfig> implements IStatisticConfigService {
+	/**
+	 * 缁熻鍒嗘瀽淇濆瓨
+	 * @param statisticConfigs 鏁版嵁浼犺緭瀵硅薄
+	 * @return 鏁版嵁杩斿洖
+	 */
+	@Override
+	public R saveStatisticConfig(List<StatisticConfig> statisticConfigs) {
+
+		QueryWrapper<StatisticConfig> wrapper = new QueryWrapper<>();
+		wrapper.eq("user_id", AuthUtil.getUser().getUserId());
+		wrapper.in("btmname", statisticConfigs.stream().map(StatisticConfig::getBtmname).collect(Collectors.toList()));
+		List<StatisticConfig> list = this.list(wrapper);
+		statisticConfigs.stream().map(e ->{
+			list.stream().filter(lis -> e.getBtmname().equals(lis.getBtmname())).forEach(lis->{
+					e.setId(lis.getId());
+					e.setTs(new Date());
+					e.setCreator(lis.getCreator());
+					e.setCreatetime(lis.getCreatetime());
+					e.setLastmodifier(String.valueOf(AuthUtil.getUser().getUserId()));
+					e.setLastmodifytime(new Date());
+			});
+			if(e.getId() == null){
+				e.setUserId(AuthUtil.getUser().getUserId());
+				e.setTs(new Date());
+				e.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
+				e.setCreatetime(new Date());
+				e.setLastmodifier(String.valueOf(AuthUtil.getUser().getUserId()));
+				e.setLastmodifytime(new Date());
+			}
+			return e;
+		}).collect(Collectors.toList());
+
+		this.saveOrUpdateBatch(statisticConfigs);
+
+		return R.success("鎿嶄綔鎴愬姛锛�");
+	}
+
+	/**
+	 * 缁熻鍒嗘瀽鍒犻櫎鍥惧舰
+	 * @param btmname 涓氬姟绫诲瀷
+	 * @param chartId 鍥惧舰ID
+	 * @return 鎴愬姛涓庡惁
+	 */
+	@Override
+	public R deleteChartId(String btmname, String chartId) {
+
+		QueryWrapper<StatisticConfig> wrapper = new QueryWrapper<>();
+		wrapper.eq("user_id", AuthUtil.getUser().getUserId());
+		wrapper.in("btmname",btmname);
+		StatisticConfig statisticConfig = this.getOne(wrapper);
+		if(StringUtil.isBlank(statisticConfig.getChartIds())){
+			throw new ServiceException("鏈煡鍒板巻鍙茬浉鍏冲浘褰㈡暟鎹紝璇峰厛淇濆瓨锛侊紒");
+		}
+		List<String> chartIds = new ArrayList(Arrays.asList(statisticConfig.getChartIds().split(",")));
+		chartIds.remove(chartId);
+		statisticConfig.setChartIds(chartIds.stream().collect(Collectors.joining(",")));
+		this.updateById(statisticConfig);
+		return R.success("鎿嶄綔鎴愬姛锛侊紒");
+	}
+
+	/**
+	 * 鑾峰彇鐢ㄦ埛閰嶇疆鐨勪笟鍔$被鍨嬩笌鐩稿叧鐨勫浘褰�
+	 * @return 鍥惧舰鏁版嵁涓庝笟鍔$被鍨婭D
+	 */
+	@Override
+	public R getBtmAndChartIds() {
+		QueryWrapper<StatisticConfig> wrapper = new QueryWrapper<>();
+		wrapper.eq("user_id", AuthUtil.getUser().getUserId());
+		wrapper.isNotNull("chart_ids");
+		List<StatisticConfig> list = this.list(wrapper);
+		Map<String, String> collect = list.stream().collect(Collectors.toMap(StatisticConfig::getBtmname, StatisticConfig::getChartIds));
+		return R.data(collect);
+	}
+
+}

--
Gitblit v1.9.3