From 19737470afef2563d99ac133a5498ed845f1d822 Mon Sep 17 00:00:00 2001 From: 354798ggg <1074825718@qq.com> Date: 星期四, 19 十月 2023 16:42:24 +0800 Subject: [PATCH] bug测试 --- product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java | 175 ++++++++++++++++++++++------------------------------------ 1 files changed, 67 insertions(+), 108 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 ef04c1d..d129de1 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 @@ -1,8 +1,5 @@ package com.product.project.management.service; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSONArray; @@ -14,7 +11,9 @@ import com.product.core.entity.DataTableEntity; import com.product.core.entity.FieldSetEntity; import com.product.core.exception.BaseException; +import com.product.core.permission.PermissionService; import com.product.core.service.support.AbstractBaseService; +import com.product.core.spring.context.SpringMVCContextHolder; import com.product.project.management.config.Cmnconst; import com.product.project.management.config.SystemCode; import com.product.util.BaseUtil; @@ -26,7 +25,30 @@ @Autowired BaseDao baseDao; + + @Autowired + PermissionService permissionService; + + /** + * 椤圭洰淇℃伅鍒楄〃 + * @param cpage + * @param pageSize + * @return + */ + public DataTableEntity listProjectByCreated(Integer cpage, Integer pageSize) { + String queryFilter = permissionService.getDataFilter(Cmnconst.PRODUCT_PROJECT_QXLW, "project_leader,materialman"); + + + FieldSetEntity fseCurrentUser = SpringMVCContextHolder.getCurrentUser().getCurrentStaff(); + String leaderCode = fseCurrentUser.getString("leader_tricode")+"%"; + + String filter =" project_leader in (select user_id from product_sys_staffs where leader_tricode like ?) OR materialman in (select user_id from product_sys_staffs where leader_tricode like ?)"; + DataTableEntity dt = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_QXLW, filter, new Object [] {leaderCode, leaderCode}, null, Cmnconst.CREATED_UTC_DATETIME_DESC, pageSize, cpage); + baseDao.loadPromptData(dt); + return dt; + } + /** * 閫氳繃椤圭洰绫诲瀷鑾峰彇椤圭洰鍒嗛」锛堣幏鍙栨ā鏉垮垎椤癸級 * @@ -63,7 +85,7 @@ * @return */ public DataTableEntity getProjectAllItem(String uuid) { - DataTableEntity dtProjectItemize = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_ITEM, "project_uuid=?", new Object[]{uuid}, new Object[]{CoreConst.UUID, Cmnconst.ITEMIZE, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE}); + DataTableEntity dtProjectItemize = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_ITEM, "project_uuid=?", new Object[]{uuid}, new Object[]{CoreConst.UUID, Cmnconst.ITEMIZE, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE, Cmnconst.ITEMIZE_FULL_NAME}); if (!BaseUtil.dataTableIsEmpty(dtProjectItemize)) { DataTableEntity newDtProjectItem = BaseUtil.dataTableToTreeTable(dtProjectItemize, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE, null); return newDtProjectItem; @@ -80,83 +102,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 sb = new StringBuilder(); - sb.append("WITH outbound AS(") - .append(" SELECT A.project_uuid,A.project_itemize,C.material_type,B.material_code,SUM(B.outbound_weight)outbound_weight ") - .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_base_material C ON B.material_uuid = C.uuid ") - .append(" WHERE project_uuid = ? ") - .append(" GROUP BY A.project_uuid,A.project_itemize,C.material_type,B.material_code ") - .append(" ) ") - .append(" SELECT A.project_uuid,A.project_itemize,A.total_outbound_weight,B.material_type,B.material_code,B.outbound_weight ") - .append(" FROM ( ") - .append(" SELECT project_uuid,project_itemize,SUM(outbound_weight)total_outbound_weight ") - .append(" FROM outbound ") - .append(" GROUP BY project_uuid,project_itemize ") - .append(" )A ") - .append(" RIGHT JOIN outbound B ON A.project_uuid=B.project_uuid AND A.project_itemize=B.project_itemize "); - DataTableEntity dtItemizeInfo = baseDao.listTable(sb.toString(), new Object[]{project_uuid}); - if (!BaseUtil.dataTableIsEmpty(dtItemizeInfo)) { - - Map<String, FieldSetEntity> convertData = new HashMap<>(); - String[] materialTypes = new String[3]; - - //閫氳繃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(materialTypes[materialType])) { - materialTypes[materialType] = materialCode; - } else { - materialTypes[fseItemize.getInteger(Cmnconst.MATERIAL_TYPE)] += "," + materialCode; - } - - //鏀堕泦琛岃浆鍒楁暟鎹� - String itemize = fseItemize.getString(Cmnconst.PROJECT_ITEMIZE); - if (convertData.containsKey(itemize)) { - convertData.get(itemize).setValue(materialCode, outboundWeight); - } else { - FieldSetEntity fseConvertData = new FieldSetEntity(Cmnconst.PRODUCT_PROJECT_QXLW); - fseConvertData.setValue(Cmnconst.PROJECT_ITEMIZE, itemize); - fseConvertData.setValue(Cmnconst.TOTAL_OUTBOUND_WEIGHT, fseItemize.getString(Cmnconst.TOTAL_OUTBOUND_WEIGHT)); - fseConvertData.setValue(materialCode, outboundWeight); - convertData.put(itemize, fseConvertData); - } - } - //灏嗘暟鎹浆涓篋ataTableEntity杩斿洖 - if (!convertData.isEmpty()) { - DataTableEntity finalConvertData = new DataTableEntity(); - convertData.forEach((k, v) -> { - finalConvertData.addFieldSetEntity(v); - }); - 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; - } + /** * 鍒犻櫎瀛愰」楠岃瘉锛堝凡缁忕敓鎴愰绠楃殑瀛愰」涓嶈兘鍒犻櫎锛� @@ -166,50 +112,63 @@ public void deleteItemizeValidate(String uuid) { DataTableEntity dtBudget = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_BUDGET, "budget_code=?", new Object[]{uuid}); if (!BaseUtil.dataTableIsEmpty(dtBudget)) { - throw new BaseException(SystemCode.PROJECT_MANAGEMENT_ITEMIZE_DEL_FAIL.getValue(), SystemCode.PROJECT_MANAGEMENT_ITEMIZE_DEL_FAIL.getText()); + throw new BaseException(SystemCode.PROJECT_ITEMIZE_DEL_FAIL_HAS_BUDGET.getValue(), SystemCode.PROJECT_ITEMIZE_DEL_FAIL_HAS_BUDGET.getText()); } } /** * 鑾峰彇鍒嗛」棰勭畻淇℃伅 * - * @param projectUUID 椤圭洰UUID - * @param itemizeCode 鍒嗛」缂栫爜 + * @param itemizeUUID 鍒嗛」UUID * @param capge 褰撳墠椤� * @param pageSize 椤靛ぇ灏� * @return */ - public DataTableEntity listItemizeBudget(String projectUUID, String itemizeCode, Integer capge, Integer pageSize) { - - String filter; - List<String> params = new ArrayList<>(); - if (BaseUtil.strIsNull(itemizeCode)) { - filter = "project_itemize_uuid IN (SELECT uuid FROM product_project_item WHERE project_uuid=?)"; - params.add(projectUUID); - } else { - filter = "project_itemize_uuid IN (SELECT uuid FROM product_project_item WHERE project_uuid=? AND itemize_code like ?)"; - params.add(projectUUID); - params.add(itemizeCode + "%"); - } - DataTableEntity dtItemizeBudget = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_BUDGET, filter, params.toArray(), null, null, pageSize, capge); - if (!BaseUtil.dataTableIsEmpty(dtItemizeBudget)) { - baseDao.loadPromptData(dtItemizeBudget); - } - return dtItemizeBudget; + public DataTableEntity listItemizeBudget(String itemizeUUID, Integer capge, Integer pageSize) { + if (!BaseUtil.strIsNull(itemizeUUID)) { + DataTableEntity dtItemizeBudget = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_BUDGET, "project_itemize_uuid = ?", new Object[] {itemizeUUID}, null, null, pageSize, capge); + if (!BaseUtil.dataTableIsEmpty(dtItemizeBudget)) { + baseDao.loadPromptData(dtItemizeBudget); + } + return dtItemizeBudget; + } + return null; } + /** + * 鏇村叿椤圭洰鍒嗛」uuid鑾峰彇椤圭洰鍒嗛」涓嬬殑鏉愭枡 + * @param uuid + * @param capge + * @param pageSize + * @return + */ + 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 + */ + 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 + * @return + */ public JSONArray getTreeProjectItem(String uuid) { - FieldSetEntity fseProject = baseDao.getFieldSetEntity(Cmnconst.PRODUCT_PROJECT_QXLW, uuid, true); - DataTableEntity newDtProjectItem = BaseUtil.dataTableToTreeTable(fseProject.getSubDataTable(Cmnconst.PRODUCT_PROJECT_ITEM), Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE, null); + DataTableEntity dtProjectItemize = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_ITEM, "project_uuid=?", new Object[]{uuid}, new Object[]{CoreConst.UUID, Cmnconst.ITEMIZE, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE}); + DataTableEntity newDtProjectItem = BaseUtil.dataTableToTreeTable(dtProjectItemize, Cmnconst.ITEMIZE_CODE, Cmnconst.ITEMIZE_PARENT_CODE, null); JSONArray objects = BaseUtil.dataTableEntityToJson(newDtProjectItem); JSONObject json = new JSONObject(); - json.put("itemize", "椤圭洰鍒嗛儴鍒嗛」"); - json.put("children", objects); - json.put("type", 1); - + json.set("itemize", "椤圭洰鍒嗛儴鍒嗛」"); + json.set("children", objects); + json.set("type", 1); JSONArray array = new JSONArray(); array.add(json); - return array; } } -- Gitblit v1.9.2