product-server-project-management/src/main/java/com/product/project/management/controller/ProjectBudgetController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,5 @@ package com.product.project.management.controller; public class ProjectBudgetController { } product-server-project-management/src/main/java/com/product/project/management/controller/ProjectInfoController.java
@@ -130,34 +130,6 @@ } } /** * è·å项ç®åææ°æ® * * @param request * @return */ @RequestMapping(value = "/statist-analysis-report/{version}", method = RequestMethod.POST) @ApiVersion(1) public String statistAnalysis(HttpServletRequest request) { try { //è·ååæ° FieldSetEntity fse = BaseUtil.getFieldSetEntity(request); //夿uuidæ¯å¦ä¸ºç©º if (BaseUtil.strIsNull(fse.getString(Cmnconst.PROJECT_UUID))) { return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); } return ResultInfo.success(projectInfoService.statistAnalysis(fse.getString(Cmnconst.PROJECT_UUID))); // return OK_List(projectInfoService.statistAnalysis(fse.getString(Cmnconst.PROJECT_UUID))); } catch (BaseException e) { e.printStackTrace(); return this.error(e); } catch (Exception e) { e.printStackTrace(); return this.error(SystemCode.PROJECT_INFO_OPERATE_ERROR.getValue(), SystemCode.PROJECT_INFO_OPERATE_ERROR.getText() + e.getMessage()); } } /** * å é¤å个项ç®å项éªè¯ï¼æ ¹æ®é¢ç®éªè¯æ¯å¦å é¤ï¼ product-server-project-management/src/main/java/com/product/project/management/controller/ProjectStatisticAnalysisController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,53 @@ package com.product.project.management.controller; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import com.product.core.controller.support.AbstractBaseController; import com.product.core.entity.FieldSetEntity; import com.product.core.exception.BaseException; import com.product.module.sys.version.ApiVersion; import com.product.project.management.config.Cmnconst; import com.product.project.management.config.SystemCode; import com.product.project.management.service.ProjectStatisticAnalysisService; import com.product.util.BaseUtil; import com.product.util.ResultInfo; @RequestMapping("/api/project-statistic") @RestController public class ProjectStatisticAnalysisController extends AbstractBaseController{ @Autowired ProjectStatisticAnalysisService projectStatisticAnalysisService; /** * è·å项ç®åææ°æ® * * @param request * @return */ @RequestMapping(value = "/statist-analysis-report/{version}", method = RequestMethod.POST) @ApiVersion(1) public String statistAnalysis(HttpServletRequest request) { try { //è·ååæ° FieldSetEntity fse = BaseUtil.getFieldSetEntity(request); //夿uuidæ¯å¦ä¸ºç©º if (BaseUtil.strIsNull(fse.getString(Cmnconst.PROJECT_UUID))) { return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText()); } return ResultInfo.success(projectStatisticAnalysisService.statistAnalysis(fse.getString(Cmnconst.PROJECT_UUID))); } catch (BaseException e) { e.printStackTrace(); return this.error(e); } catch (Exception e) { e.printStackTrace(); return this.error(SystemCode.PROJECT_INFO_OPERATE_ERROR.getValue(), SystemCode.PROJECT_INFO_OPERATE_ERROR.getText() + e.getMessage()); } } } 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(" )"); //åºåºä¿¡æ¯æä½ï¼æ¶ç«çå声æµç®¡ä¸å±ç¤ºåå·æ±æ»æ±åè¡è½¬åï¼æ®éé¢çåç½çå±ç¤ºåå·ï¼æ ¹æ®é¡¹ç®åé¡¹å ³èæ±æ»ï¼ 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è§£æçåºæ¬æ°æ®ï¼å©ç¨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); } } } } //å°æ°æ®è½¬ä¸ºDataTableEntityè¿å 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 product-server-project-management/src/main/java/com/product/project/management/service/ProjectStatisticAnalysisService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,262 @@ package com.product.project.management.service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.product.core.dao.BaseDao; import com.product.core.entity.DataTableEntity; import com.product.core.entity.FieldSetEntity; import com.product.core.service.support.AbstractBaseService; import com.product.project.management.config.Cmnconst; import com.product.util.BaseUtil; import cn.hutool.json.JSONObject; @Component public class ProjectStatisticAnalysisService extends AbstractBaseService{ @Autowired BaseDao baseDao; /** * é¡¹ç®æ°æ®åæ * * @param project_uuid * @return */ public JSONObject statistAnalysis(String project_uuid) { JSONObject returnJson = new JSONObject(); List<List<String>> listMaterialType = getReportMaterialType(); //æ°æ®åºåºåºä¿¡æ¯æ±æ» 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,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,11)) 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(" )"); //åºåºä¿¡æ¯æä½ï¼getItemizeSum[é¢çåæ¶ç«çå·¦ä¾§æ±æ»]ï¼allitemize[ææä¸çº§å项]ï¼intermediateData1[é¢çæ¶ç«çæåé¡¹æ±æ»]ï¼intermediateData2[é¢çç½çæåé¡¹åæææ±æ»]ï¼intermediateData3[æ¥è¡¨æå]ï¼ StringBuilder operateInfo = new StringBuilder(1024); operateInfo.append(" ,getItemizeSum AS( ") .append(" SELECT itemize,ROUND(SUM(outbound_weight)/1000,1) total_outbound_weight FROM outbound WHERE ") .append(BaseUtil.buildQuestionMarkFilter(Cmnconst.MATERIAL_TYPE, listMaterialType.get(0).toArray(), true)) .append(" GROUP BY itemize ") .append(" )") .append(",allitemize AS( ") .append(" SELECT itemize FROM outbound GROUP BY itemize ") .append(" )") .append(",intermediateData1 AS( ") .append(" SELECT A.itemize "); for (int i = 0; i < listMaterialType.get(2).size(); i++) { operateInfo.append(",SUM(IF(material_type=") .append(listMaterialType.get(2).get(i)) .append(",outbound_weight,0)) as ") .append(listMaterialType.get(3).get(i)); } operateInfo.append(" FROM ( SELECT itemize FROM outbound GROUP BY itemize )A ") .append(" LEFT JOIN ( ") .append(" SELECT project_uuid,itemize,material_type,SUM(outbound_weight)outbound_weight,CASE "); for (int i = 0; i < listMaterialType.get(2).size(); i++) { operateInfo.append(" WHEN material_type=") .append(listMaterialType.get(2).get(i)) .append(" THEN ") .append("'").append(listMaterialType.get(3).get(i)).append("'"); } operateInfo.append(" END AS material_code ") .append(" FROM outbound ") .append(" WHERE ") .append(BaseUtil.buildQuestionMarkFilter(Cmnconst.MATERIAL_TYPE, listMaterialType.get(1).toArray(), false)) .append(" GROUP BY project_uuid,itemize,material_type ") .append(" ) B ON A.itemize = B.itemize ") .append(" GROUP BY A.itemize ") .append(" )") .append(",intermediateData2 AS( ") .append(" SELECT project_uuid,itemize,material_type,material_code,outbound_weight FROM outbound WHERE ") .append(BaseUtil.buildQuestionMarkFilter(Cmnconst.MATERIAL_TYPE, listMaterialType.get(1).toArray(), true)) .append(" )") .append(",intermediateData3 AS( ") .append(" SELECT A.itemize,A.total_outbound_weight,B.material_type,material_code,outbound_weight"); for (int i = 0; i < listMaterialType.get(3).size(); i++) { operateInfo.append(",A.").append(listMaterialType.get(3).get(i)); } operateInfo.append(" FROM( ") .append(" SELECT A.itemize,C.total_outbound_weight "); for (int i = 0; i < listMaterialType.get(3).size(); i++) { operateInfo.append(",B.").append(listMaterialType.get(3).get(i)); } operateInfo.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,ROUND(SUM(outbound_weight),1) outbound_weight FROM outbound WHERE ") .append(BaseUtil.buildQuestionMarkFilter(Cmnconst.MATERIAL_TYPE, listMaterialType.get(1).toArray(), true)) .append(" GROUP BY material_code ") .append(" UNION ALL ") .append(" SELECT CASE "); for (int i = 0; i < listMaterialType.get(2).size(); i++) { totalSum.append(" WHEN material_type=") .append(listMaterialType.get(2).get(i)) .append(" THEN ") .append("'").append(listMaterialType.get(3).get(i)).append("'"); } totalSum.append(" END, ROUND(SUM(outbound_weight),1)") .append(" FROM outbound WHERE ") .append(BaseUtil.buildQuestionMarkFilter(Cmnconst.MATERIAL_TYPE, listMaterialType.get(2).toArray(), true)) .append(" GROUP BY material_type ") .append(" UNION ALL ") .append(" SELECT 'å计',ROUND(SUM(outbound_weight)/1000,1) FROM outbound WHERE material_type IN (0,1,3) GROUP BY project_uuid "); //è·åSQLè§£æçåºæ¬æ°æ®ï¼å©ç¨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); for (int j = 0; j < listMaterialType.get(3).size(); j++) { fseConvertData.setValue(listMaterialType.get(3).get(j), fseItemize.getString(listMaterialType.get(3).get(j))); } 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); } } } } //å°æ°æ®è½¬ä¸ºDataTableEntityè¿å 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; } /** * è¿åææç±»åä¿¡æ¯ * listSummary éè¦æ±æ»çææ * listShowMaterialCode éè¦å±ç¤ºææç¼ç çææ * listNotShowMaterialCode ä¸éè¦å±ç¤ºææç¼ç çææ * listNotShowMaterialCodeName ä¸éè¦å±ç¤ºææç¼ç çææç±»ååç§° * @return */ public List<List<String>> getReportMaterialType() { DataTableEntity dtMaterialType = baseDao.listTable("product_sys_dict", "dict_name = ?", new Object[] {Cmnconst.MATERIAL_TYPE}, new Object[] {"dict_value","dict_label"}); if (!BaseUtil.dataTableIsEmpty(dtMaterialType)) { List<List<String>> returnList = new ArrayList<>(); List<String> listSummary = new ArrayList<>(); List<String> listShowMaterialCode = new ArrayList<>(); List<String> listNotShowMaterialCode = new ArrayList<>(); List<String> listNotShowMaterialCodeName = new ArrayList<>(); for (int i = 0; i < dtMaterialType.getRows(); i++) { String dictValue = dtMaterialType.getFieldSetEntity(i).getString("dict_value"); String dictLabel = dtMaterialType.getFieldSetEntity(i).getString("dict_label"); if ("0".equals(dictValue)) { listSummary.add(dictValue); listShowMaterialCode.add(dictValue); }else if ("1".equals(dictValue)) { listSummary.add(dictValue); listNotShowMaterialCode.add(dictValue); listNotShowMaterialCodeName.add(dictLabel); }else if ("3".equals(dictValue)) { listShowMaterialCode.add(dictValue); }else { listNotShowMaterialCode.add(dictValue); listNotShowMaterialCodeName.add(dictLabel); } } returnList.add(listSummary); returnList.add(listShowMaterialCode); returnList.add(listNotShowMaterialCode); returnList.add(listNotShowMaterialCodeName); return returnList; } return null; } }