From e9a590e862148092027510b15d33cdd32691a6f5 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期三, 06 十二月 2023 09:43:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java |   89 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 85 insertions(+), 4 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index 7d06620..e187c23 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -60,6 +60,7 @@
 import com.vci.ubcs.system.feign.ISysClient;
 import com.vci.ubcs.system.user.entity.User;
 import com.vci.ubcs.system.user.feign.IUserClient;
+import io.swagger.models.auth.In;
 import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
 import oracle.sql.TIMESTAMP;
 import org.slf4j.Logger;
@@ -67,6 +68,7 @@
 import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.log.annotation.OperateLog;
 import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.DateUtil;
@@ -504,6 +506,7 @@
         CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid());
         CodeClassifyTemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid());
         CodeRuleVO ruleVO = ruleService.getObjectHasSecByOid(orderDTO.getCodeRuleOid());
+		final BladeUser user = AuthUtil.getUser();
         //1.鍒ゆ柇瑙勫垯涓櫎浜嗘祦姘寸爜娈碉紝鏄惁鏈夊叾浠栫爜娈�
         checkSecValueOnOrder(ruleVO, orderDTO);
         //2.鍒ゆ柇蹇呰緭椤�
@@ -534,13 +537,13 @@
 		//cbo.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));銆�
 		if(authUser) {
 			// 瑕佹眰鏄剧ず璐﹀彿锛屾墍浠ュ仛浜嗘洿鏀�
-			cbo.setCreator(String.valueOf(AuthUtil.getUser().getAccount()));
-			cbo.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount()));
+			cbo.setCreator(String.valueOf(user.getAccount()));
+			cbo.setLastModifier(String.valueOf(user.getAccount()));
 		}else{
 			cbo.setCreator(orderDTO.getCreator());
 			cbo.setLastModifier(orderDTO.getLastModifier());
 		}
-		cbo.setTenantId(AuthUtil.getTenantId());
+		cbo.setTenantId(user.getTenantId());
 		if(StringUtils.isNotBlank(orderDTO.getLcStatus())||StringUtils.isNotBlank(orderDTO.getData().get("lcStatus"))){
 			cbo.setLcStatus(StringUtils.isNotBlank(orderDTO.getLcStatus())?orderDTO.getLcStatus():orderDTO.getData().get("lcStatus"));
 		}
@@ -553,7 +556,7 @@
         cbo.setDescription(orderDTO.getDescription());
         cboList.add(cbo);
 
-        List<String> codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), cboList);
+        List<String> codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), cboList,user);
 
         batchSaveSelectChar(templateVO, cboList);
         return codeList.size() > 0 ? codeList.get(0) : "";
@@ -1140,6 +1143,75 @@
 	@Override
 	public String addSaveBZCodeNotauthUser(CodeBZApplyDTO codeBZApplyDTO, boolean authUser) throws Exception {
 		return	addSaveBZCode(codeBZApplyDTO,authUser);
+	}
+
+	/**
+	 * 鑾峰彇缁熻鍒嗘瀽鏁版嵁
+	 * @param btmNames 涓氬姟绫诲瀷
+	 * @return 鏁版嵁闆�
+	 */
+	@Override
+	public R getStatisticAnalysis(String btmNames) {
+		//鏌ヨ涓氬姟绫诲瀷瀵瑰簲鐨勬暟鎹簱琛�
+		R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Arrays.asList(btmNames.split(",")));
+		if (!listR.isSuccess() || listR.getData().size() == 0) {
+			throw new ServiceException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+		}
+		List tableData = new ArrayList();
+		for (BtmTypeVO datum : listR.getData()) {
+			String sql = "select count(*) countNum, to_char(CREATETIME, 'mm') countDate\n" +
+							"from "+ datum.getTableName() +"\n" +
+							"where CREATETIME >= to_date(EXTRACT(YEAR FROM SYSDATE) || '-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss') AND LASTV = '1'\n" +
+							"group by to_char(CREATETIME, 'mm')\n" +
+							"order by to_char(CREATETIME, 'mm')";
+			//鏌ヨ鍑洪渶瑕佸鐞嗙殑鏁版嵁
+			List<Map> maps = commonsMapper.selectBySql(sql);
+			if(maps.size() == 0){
+				throw new ServiceException("浼犲叆绫诲瀷["+ datum.getName() + ":" +
+					datum.getId() +"]鏈煡鍒扮浉鍏崇粺璁℃暟鎹紝璇风‘璁�!!!!");
+			}
+			//褰撳勾姣忔湀鏈堜唤涔嬪墠涔嬪拰
+			List<Integer> monthCount = new ArrayList<>(12);
+			//褰撳勾姣忔湀鐨勬湀浠芥暟鎹�
+			List<Integer> month = new ArrayList<>();
+			//鑾峰彇褰撳墠鏈堢殑鏁板瓧
+			Calendar instance = Calendar.getInstance();
+			int nowmonth = instance.get(Calendar.MONTH) + 1;
+			//浠�1鍒�12鏈堣繘琛屽鐞�
+			for (Integer i = 1; i <= 12; i++) {
+				//褰撳墠鏈堝悗鎵�鏈夋暟鎹缃负0
+				if(i>nowmonth){
+					monthCount.add(0);
+					month.add(0);
+				}
+				//褰撳墠鏈堜唤涔嬪墠涔嬪拰
+				Integer count = 0;
+				//褰撳墠鏈堜唤鏁版嵁
+				Integer sameMonth = 0;
+				//瀵规暟鎹簱鏌ョ殑鏁版嵁杩涜澶勭悊锛屽褰撳墠鏈堜唤杩涜绱姞
+				for (Map map : maps) {
+					Integer mounDate = Integer.parseInt(String.valueOf(map.get("COUNTDATE")));
+					if(mounDate <= i){
+						count += Integer.parseInt(String.valueOf(map.get("COUNTNUM")));
+					}
+					if (mounDate == i) {
+						sameMonth = Integer.parseInt(String.valueOf(map.get("COUNTNUM")));
+					}
+				}
+				monthCount.add(count);
+				month.add(sameMonth);
+			}
+			//瀵规暟鎹繘琛屾暣鍚�
+			HashMap<String,Object> menuData = new HashMap<>();
+			menuData.put("menuName",datum.getName());
+			menuData.put("codeType",null);
+			ArrayList monthData = new ArrayList();
+			monthData.add(monthCount);
+			monthData.add(month);
+			menuData.put("menuData",monthData);
+			tableData.add(menuData);
+		}
+		return R.data(tableData);
 	}
 
 	/**
@@ -3116,6 +3188,15 @@
 			updateBatchByBaseModel(oldCbo.getBtmname(), Collections.singletonList(oldCbo));
 			// 鎻掑叆鏂扮殑鏁版嵁
             insertBatchByType(cbo.getBtmname(), Collections.singletonList(cbo));
+			//澶勭悊鐮佸�艰〃锛屽鐮佸�艰〃杩涜澶勭悊鏇挎崲鍒涘缓鏁版嵁鐨刼id
+			QueryWrapper<CodeAllCode> wrapper = new QueryWrapper<>();
+			wrapper.eq("CREATECODEOID",orderDTO.getCopyFromVersion());
+			CodeAllCode codeAllCode = codeAllCodeService.getOne(wrapper);
+			codeAllCode.setCreateCodeOid(cbo.getOid());
+			codeAllCode.setLastModifyTime(new Date());
+			codeAllCode.setTs(new Date());
+			codeAllCode.setLastModifier(AuthUtil.getUser().getUserName());
+			codeAllCodeService.updateById(codeAllCode);
 			// 璁板綍鏁版嵁鏇存敼鏃ュ織
 			saveLogUtil.operateLog("鏁版嵁鏇存敼",false, StringUtil.format("{}\n淇敼涓�:\n{}",JSON.toJSONString(Collections.singletonList(oldCbo)),JSON.toJSONString(Collections.singletonList(cbo))));
 		} catch (Exception vciError) {

--
Gitblit v1.9.3