From 9a261c1c166bf9ad0ac5cd8f04a0a6dd0ae1408f Mon Sep 17 00:00:00 2001
From: 354798ggg <1074825718@qq.com>
Date: 星期一, 24 七月 2023 14:47:43 +0800
Subject: [PATCH] 项目调整
---
product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java | 142 +----------------------------------------------
1 files changed, 3 insertions(+), 139 deletions(-)
diff --git a/product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java b/product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java
index 08bb879..bc24ed8 100644
--- a/product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java
+++ b/product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java
@@ -80,145 +80,7 @@
return baseDao.listTable(Cmnconst.PRODUCT_PROJECT_QXLW, null, null, new Object[]{CoreConst.UUID, Cmnconst.PROJECT_NAME});
}
- /**
- * 椤圭洰鏁版嵁鍒嗘瀽
- *
- * @param project_uuid
- * @return
- */
- public JSONObject statistAnalysis(String project_uuid) {
-
- JSONObject returnJson = new JSONObject();
-
- //鏁版嵁搴撳嚭搴撲俊鎭眹鎬�
- StringBuilder outboundInfo = new StringBuilder(512);
- outboundInfo.append(" WITH outbound AS( ")
- .append(" SELECT project_uuid,itemize,material_type,material_code,SUM(outbound_weight)outbound_weight FROM ( ")
- .append(" SELECT ")
- .append(" A.project_uuid, ")
- .append(" B.material_type,B.material_code,B.outbound_weight, ")
- .append(" (SELECT itemize FROM product_project_item WHERE project_uuid = A.project_uuid AND itemize_code = substring(C.itemize_code,1,7)) itemize ")
- .append(" FROM product_project_outbound A ")
- .append(" LEFT JOIN product_project_outbound_sub B ON A.uuid=B.outbound_uuid ")
- .append(" LEFT JOIN product_project_item C ON C.uuid = A.project_itemize ")
- .append(" WHERE A.flow_flag=2 AND A.project_uuid=? ")
- .append(" )A GROUP BY project_uuid,itemize,material_type,material_code ")
- .append(" )");
- //鍑哄簱淇℃伅鎿嶄綔锛堟灦绔嬬瓔鍜屽0娴嬬涓嶅睍绀哄瀷鍙锋眹鎬绘眰鍜岃杞垪锛屾櫘閫氶挗绛嬪拰缃戠墖灞曠ず鍨嬪彿锛屾牴鎹」鐩垎椤瑰叧鑱旀眹鎬伙級
- StringBuilder operateInfo = new StringBuilder(1024);
- operateInfo.append(" ,getItemizeSum AS( ")
- .append(" SELECT itemize,SUM(outbound_weight)total_outbound_weight FROM outbound WHERE material_type IN (0,1) GROUP BY itemize ")
- .append(" ),allitemize AS( ")
- .append(" SELECT itemize FROM outbound GROUP BY itemize ")
- .append(" ),intermediateData1 AS( ")
- .append(" SELECT A.itemize,SUM(IF(`material_type`='1',outbound_weight,0)) as 'JLJ',SUM(IF(`material_type`='2',outbound_weight,0)) as 'SCG' ")
- .append(" FROM ( SELECT itemize FROM outbound GROUP BY itemize )A ")
- .append(" LEFT JOIN ( ")
- .append(" SELECT project_uuid,itemize,material_type,CASE WHEN material_type=1 THEN '鏋剁珛绛�' ELSE '澹版祴绠�' END AS material_code,SUM(outbound_weight)outbound_weight ")
- .append(" FROM outbound ")
- .append(" WHERE material_type IN (1,2) ")
- .append(" GROUP BY project_uuid,itemize,material_type ")
- .append(" ) B ON A.itemize = B.itemize ")
- .append(" GROUP BY A.itemize ")
- .append(" ),intermediateData2 AS( ")
- .append(" SELECT project_uuid,itemize,material_type,material_code,outbound_weight FROM outbound WHERE material_type IN (0,3) ")
- .append(" ),intermediateData3 AS( ")
- .append(" SELECT A.itemize,A.total_outbound_weight,A.jlj,A.scg,B.material_type,material_code,outbound_weight FROM( ")
- .append(" SELECT A.itemize,C.total_outbound_weight,B.jlj,B.scg ")
- .append(" FROM allitemize A ")
- .append(" LEFT JOIN intermediateData1 B ON A.itemize = B.itemize ")
- .append(" LEFT JOIN getItemizeSum C ON A.itemize = C.itemize ")
- .append(" )A ")
- .append(" LEFT JOIN intermediateData2 B ON A.itemize = B.itemize ")
- .append(" ) ")
- .append(" select * from intermediateData3 ");
-
- StringBuilder totalSum = new StringBuilder("");
- totalSum.append(" SELECT material_code,SUM(outbound_weight)outbound_weight FROM outbound WHERE material_type IN (0,3) GROUP BY material_code ")
- .append(" UNION ALL ")
- .append(" SELECT CASE WHEN material_type=1 THEN 'JLJ' WHEN material_type=2 THEN 'SCG' END,SUM(outbound_weight) FROM outbound WHERE material_type IN (1,2) GROUP BY material_type ")
- .append(" UNION ALL ")
- .append(" SELECT '鍚堣',SUM(outbound_weight) FROM outbound WHERE material_type IN (0,1,3) GROUP BY project_uuid ");
-
- //鑾峰彇SQL瑙f瀽鐨勫熀鏈暟鎹紝鍒╃敤JAVA灏嗛」鐩垎椤瑰搴旂殑涓嶅悓鏉愭枡琛岃浆鍒�
- DataTableEntity dtItemizeInfo = baseDao.listTable(outboundInfo.toString() + operateInfo.toString(), new Object[]{project_uuid});
- if (!BaseUtil.dataTableIsEmpty(dtItemizeInfo)) {
-
- Map<String, FieldSetEntity> convertData = new HashMap<>();
- String[] materialTypes = new String[4];
-
- //閫氳繃Java寰幆灏�"鏉愭枡"鍜�"鍑哄簱閲�"鏁版嵁琛岃浆鍒�
- for (int i = 0; i < dtItemizeInfo.getRows(); i++) {
- FieldSetEntity fseItemize = dtItemizeInfo.getFieldSetEntity(i);
-
- //鑾峰彇鏉愭枡缂栫爜锛屾潗鏂欑被鍨嬶紝鍑哄簱閲�
- String materialCode = fseItemize.getString(Cmnconst.MATERIAL_CODE);
- String outboundWeight = fseItemize.getString(Cmnconst.OUTBOUND_WEIGHT);
- Integer materialType = fseItemize.getInteger(Cmnconst.MATERIAL_TYPE);
-
- //鏀堕泦鑾峰彇鎵�鏈夎〃澶村垪锛堟潗鏂欑紪鐮侊級,鏋剁珛绛嬪拰澹版祴绠℃病鏈夎〃澶�
- if (!BaseUtil.strIsNull(materialCode)) {
- if (BaseUtil.strIsNull(materialTypes[materialType])) {
- materialTypes[materialType] = materialCode;
- } else {
- if(materialTypes[fseItemize.getInteger(Cmnconst.MATERIAL_TYPE)].indexOf(materialCode)<0) {
- materialTypes[fseItemize.getInteger(Cmnconst.MATERIAL_TYPE)] += "," + materialCode;
- }
- }
- }
-
- //鏀堕泦琛岃浆鍒楁暟鎹�
- String itemize = fseItemize.getString(Cmnconst.ITEMIZE);
- if (convertData.containsKey(itemize)) {
- convertData.get(itemize).setValue(materialCode, outboundWeight);
- } else {
- FieldSetEntity fseConvertData = new FieldSetEntity(Cmnconst.PRODUCT_PROJECT_QXLW);
- fseConvertData.setValue(Cmnconst.ITEMIZE, itemize);
- fseConvertData.setValue(Cmnconst.TOTAL_OUTBOUND_WEIGHT, fseItemize.getString(Cmnconst.TOTAL_OUTBOUND_WEIGHT));
- fseConvertData.setValue(materialCode, outboundWeight);
- fseConvertData.setValue("jlj", fseItemize.getString("jlj"));
- fseConvertData.setValue("scg", fseItemize.getString("scg"));
- convertData.put(itemize, fseConvertData);
- }
- }
-
- //璁$畻姹囨��
- DataTableEntity dtTotalInfo = baseDao.listTable(outboundInfo.toString() + totalSum.toString(), new Object[]{project_uuid});
- FieldSetEntity fseConvertData = new FieldSetEntity(Cmnconst.PRODUCT_PROJECT_QXLW);
- if (!BaseUtil.dataTableIsEmpty(dtTotalInfo)) {
- for (int i = 0; i < dtTotalInfo.getRows(); i++) {
- FieldSetEntity fseTotalInfo = dtTotalInfo.getFieldSetEntity(i);
- String materialCode = fseTotalInfo.getString(Cmnconst.MATERIAL_CODE);
- String outboundWeight = fseTotalInfo.getString(Cmnconst.OUTBOUND_WEIGHT);
- if (!BaseUtil.strIsNull(materialCode) && !BaseUtil.strIsNull(outboundWeight)) {
- if ("鍚堣".equals(materialCode)) {
- fseConvertData.setValue(Cmnconst.ITEMIZE, "鍚堣");
- fseConvertData.setValue(Cmnconst.TOTAL_OUTBOUND_WEIGHT, outboundWeight);
- }else {
- fseConvertData.setValue(materialCode, outboundWeight);
- }
- }
- }
- }
-
- //灏嗘暟鎹浆涓篋ataTableEntity杩斿洖
- if (!convertData.isEmpty()) {
- DataTableEntity finalConvertData = new DataTableEntity();
- convertData.forEach((k, v) -> {
- finalConvertData.addFieldSetEntity(v);
- });
- finalConvertData.addFieldSetEntity(fseConvertData);
- returnJson.set("data", BaseUtil.dataTableEntityToJson(finalConvertData));
- }
- //灏嗚〃澶存暟鎹繑鍥�
- for (int i = 0; i < materialTypes.length; i++) {
- if (!BaseUtil.strIsNull(materialTypes[i])) {
- returnJson.set("type" + i, materialTypes[i]);
- }
- }
- }
- return returnJson;
- }
+
/**
* 鍒犻櫎瀛愰」楠岃瘉锛堝凡缁忕敓鎴愰绠楃殑瀛愰」涓嶈兘鍒犻櫎锛�
@@ -271,6 +133,7 @@
public DataTableEntity listMaterialV(String uuid, Integer capge, Integer pageSize) {
return baseDao.listTable("product_project_base_material_v","project_itemize_uuid=?",new String[]{uuid},null,null,pageSize, capge);
}
+
/**
* 鏇村叿浠撳簱鍜屾潗鏂欒幏鍙栧簱瀛�
* @return
@@ -278,6 +141,7 @@
public FieldSetEntity findInventoryV(String warehouse_uuid, String material_uuid) {
return baseDao.getFieldSetByFilter("product_project_inventory_v","warehouse_uuid=? and uuid=?",new String[]{warehouse_uuid,material_uuid},false);
}
+
/**
* 鏍规嵁椤圭洰uuid鑾峰彇椤圭洰鍒嗛」鏍戠粨鏋�
* @param uuid
--
Gitblit v1.9.2