From 04b4676f4f8f2674a0fdd52624c417d600f6f06b Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 05 十二月 2023 16:19:30 +0800
Subject: [PATCH] 整合代码
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 92 ++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 85 insertions(+), 7 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 2dd56b5..9bfb0fe 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
@@ -44,6 +44,7 @@
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.starter.util.SaveLogUtil;
+import com.vci.ubcs.starter.util.SpecialCharacterConverter;
import com.vci.ubcs.starter.util.UBCSSqlKeyword;
import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
import com.vci.ubcs.starter.web.constant.RegExpConstant;
@@ -59,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;
@@ -464,7 +466,7 @@
);
}catch (Exception e){
// 鎻掑叆鏇存敼鏃ュ織璁板綍
- saveLogUtil.operateLog(CodeDefaultLC.getTextByValue(baseModelDTO.getLcStatus()),true,e.getMessage());
+ saveLogUtil.operateLog(CodeDefaultLC.getTextByValue(baseModelDTO.getLcStatus()),true,e.toString());
throw e;
}
}
@@ -702,7 +704,6 @@
}
}
-
/**
* 璁剧疆鏂扮殑鍊煎埌鐢宠瀵硅薄涓�
*
@@ -791,6 +792,7 @@
sql[0] += " and oid != '" + orderDTO.getCopyFromVersion() + "'";
}
sql[0] += " and lastR = '1' and lastV = '1' ";
+ // 鑾峰彇涓嶅弬涓庢牎楠岀殑鍒嗙被oid
String isParticipateCheckOids = classifyService.selectLeafByParentClassifyOid(classifyFullInfo.getTopClassifyVO().getOid(), classifyFullInfo.getCurrentClassifyVO().getOid());
if(Func.isNotEmpty(isParticipateCheckOids)){
sql[0] += " and codeclsfid not in(" + isParticipateCheckOids + ")";
@@ -1142,6 +1144,75 @@
}
/**
+ * 鑾峰彇缁熻鍒嗘瀽鏁版嵁
+ * @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);
+ }
+
+ /**
* 灏佽鍏抽敭灞炴�х殑鏌ヨ璇彞
*
* @param value 褰撳墠鐨勫��
@@ -1193,12 +1264,12 @@
temp = "%s";
}
queryKey = String.format(temp, "nvl("+ "t." + attrId +",'/')");
- queryValue = String.format(temp, "'" + (trim ? value.trim() : value) + "'");
+ queryValue = String.format(temp, "'" + (trim ? SpecialCharacterConverter.escapeSpecialCharacters(value.trim()):SpecialCharacterConverter.escapeSpecialCharacters(value)) + "'");
conditionMap.put(queryKey, queryValue);
} else {
if(StringUtils.isNotBlank(value)) {
//涓虹┖鐨勬椂鍊欎笉浠h〃涓嶆牎楠岋紝鍙槸涓嶅幓闄ょ浉鍏崇殑淇℃伅
- conditionMap.put("nvl("+ "t." + attrId+",'/')", "'" + value + "'");
+ conditionMap.put("nvl("+ "t." + attrId+",'/')", "'" + SpecialCharacterConverter.escapeSpecialCharacters(value) + "'");
}else{
conditionMap.put("t." + attrId, QueryOptionConstant.ISNULL);
}
@@ -2433,7 +2504,15 @@
} else {
return (field.contains(".") ? "" : "t.") + field + SPACE + "= " + getStringValueInWhere(field, value, attrVOMap) + "" + SPACE;
}
- } else {
+ } else if(key.endsWith("_in")){
+ String field = UBCSSqlKeyword.getColumn(key, "_in");
+ if (referFieldMap.containsKey(field)) {
+ return VciBaseUtil.toInSql(referFieldMap.get(field),value); //referFieldMap.get(field) + SPACE + "= '" + value + "'" + SPACE;
+ } else {
+ return (field.contains(".") ? "" : "t.") + field + SPACE + "= " + getStringValueInWhere(field, value, attrVOMap) + "" + SPACE;
+ }
+
+ }else {
// if (referFieldMap.containsKey(key)) {
// //璇存槑鏄弬鐓х殑锛屾垜浠弬鐓х殑鏌ヨ閮借涓烘槸瀛楃涓诧紝濡傛灉鏄椂闂存牸寮忕殑鏌ヨ鑲畾鏈夐棶棰橈紝
// String selectKey = referFieldMap.get(key);
@@ -2472,7 +2551,6 @@
return getSqlByValue(key, value, attrVOMap,btmType);
}
}*/
-
}
/**
@@ -3112,7 +3190,7 @@
saveLogUtil.operateLog("鏁版嵁鏇存敼",false, StringUtil.format("{}\n淇敼涓�:\n{}",JSON.toJSONString(Collections.singletonList(oldCbo)),JSON.toJSONString(Collections.singletonList(cbo))));
} catch (Exception vciError) {
// 璁板綍鏁版嵁鏇存敼鎶ラ敊鏃剁殑鏃ュ織
- saveLogUtil.operateLog("鏁版嵁鏇存敼",true,vciError.getMessage());
+ saveLogUtil.operateLog("鏁版嵁鏇存敼",true,vciError.toString());
throw new VciBaseException("鏁版嵁鏇存敼淇濆瓨鍑洪敊浜�", new String[0], vciError);
}
--
Gitblit v1.9.3