From 27614920e2f36407f0635d73e931e6cea852298f Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期二, 05 十二月 2023 10:27:41 +0800
Subject: [PATCH] 1、增加数据统计接口与相关实现类方法
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java | 6 +++
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 11 ++---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 70 +++++++++++++++++++++++++++++++++++
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java | 11 +++++
4 files changed, 92 insertions(+), 6 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
index e82445c..5d63bd4 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
@@ -857,4 +857,15 @@
ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null);
}
}
+
+ /**
+ * 鑾峰彇缁熻鍒嗘瀽鏁版嵁
+ * @param btmNames 涓氬姟绫诲瀷
+ * @return
+ */
+ @GetMapping("/getStatisticAnalysis")
+ @VciBusinessLog(operateName = "鑾峰彇缁熻鍒嗘瀽鏁版嵁")
+ public R getStatisticAnalysis(String btmNames) {
+ return engineService.getStatisticAnalysis(btmNames);
+ }
}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
index 6e6f7a5..418809c 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -513,4 +513,10 @@
* @return 鎵ц缁撴灉
*/
String addSaveBZCodeNotauthUser(CodeBZApplyDTO codeBZApplyDTO, boolean authUser) throws Exception;
+ /**
+ * 鑾峰彇缁熻鍒嗘瀽鏁版嵁
+ * @param btmNames 涓氬姟绫诲瀷
+ * @return 鏁版嵁闆�
+ */
+ R getStatisticAnalysis(String btmNames);
}
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..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
@@ -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;
@@ -1143,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 褰撳墠鐨勫��
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
index e5dcdbd..28765c9 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -1288,8 +1288,11 @@
ReadExcelOption reo = new ReadExcelOption();
reo.setReadAllSheet(true);
List<SheetDataSet> sheetDataSetList = ExcelUtil.readDataObjectFromExcel(file,null,reo);
- if (sheetDataSetList.size() > LIMIT + 1) {
- throw new VciBaseException("涓轰簡淇濊瘉绯荤粺鐨勭ǔ瀹氭�э紝璇蜂竴娆′笉瑕佸鍏ヨ秴杩�1涓囨潯鐨勬暟鎹�");
+ if (sheetDataSetList.get(0).getRowData().size() > LIMIT + 1) {
+ throw new ServiceException("涓轰簡淇濊瘉绯荤粺鐨勭ǔ瀹氭�э紝璇蜂竴娆′笉瑕佸鍏ヨ秴杩�1涓囨潯鐨勬暟鎹�");
+ }
+ if (sheetDataSetList.get(0).getRowData().size() == 0) {
+ throw new ServiceException("鏈鍙栧埌excle鐩稿叧鏁版嵁锛岃纭锛侊紒锛�");
}
boolean isExport=false;
Map<String,List<WriteExcelData>> shetNameMap=new HashMap<>();
@@ -1371,13 +1374,9 @@
codeAllCodeService.updateBatchById(codeAllCodes);
} catch (Throwable e) {
log.error("鎵归噺浜х敓缂栫爜鐨勬椂鍊欏嚭閿欎簡", e);
-// thisCbos.stream().forEach(cbo -> {
-// String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX);
errorMap.put(sheetRowData.getRowIndex(), ";绯荤粺閿欒锛屽瓨鍌ㄦ暟鎹殑鏃跺�欏嚭閿欎簡:"+e.getMessage());
-// });
}
}
-
if (errorMap.size() > 0) {
isExport = true;
}
--
Gitblit v1.9.3