From 0e4cd37a3a8bf0cb939c9e14cf68a5e72a0b35ea Mon Sep 17 00:00:00 2001 From: 354798ggg <1074825718@qq.com> Date: 星期二, 01 八月 2023 17:27:17 +0800 Subject: [PATCH] 代码调整 --- product-server-project-management/src/main/java/com/product/project/management/service/ProjectBudgetService.java | 128 +++++++++--------------- product-server-project-management/src/main/java/com/product/project/management/config/SystemCode.java | 14 +- product-server-project-management/src/main/java/com/product/project/management/util/ItemizeUtil.java | 46 +++++++++ product-server-project-management/src/main/java/com/product/project/management/controller/ProjectInfoController.java | 6 - product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java | 33 ++---- product-server-project-management/src/main/java/com/product/project/management/config/Cmnconst.java | 3 product-server-project-management/src/main/java/com/product/project/management/controller/ProjectBudgetController.java | 54 ++++++++++ 7 files changed, 170 insertions(+), 114 deletions(-) diff --git a/product-server-project-management/src/main/java/com/product/project/management/config/Cmnconst.java b/product-server-project-management/src/main/java/com/product/project/management/config/Cmnconst.java index 60cf7f7..e2c03df 100644 --- a/product-server-project-management/src/main/java/com/product/project/management/config/Cmnconst.java +++ b/product-server-project-management/src/main/java/com/product/project/management/config/Cmnconst.java @@ -8,7 +8,8 @@ public static final String PRODUCT_PROJECT_QXLW="product_project_qxlw"; //椤圭洰淇℃伅 public static final String PRODUCT_PROJECT_ITEM="product_project_item"; //椤圭洰鍒嗛」 public static final String PRODUCT_PROJECT_BUDGET="product_project_budget"; //棰勭畻 - public static final String PRODUCT_PROJECT_BASE_MATERIAL="product_project_base_material"; + public static final String PRODUCT_PROJECT_BASE_MATERIAL="product_project_base_material"; //鍩虹鏉愭枡 + public static final String PRODUCT_PROJECT_OUTBOUND="product_project_outbound"; //鍑哄簱淇℃伅涓昏〃 //瀛楁鍚� public static final String MATERIAL_TYPE="material_type"; diff --git a/product-server-project-management/src/main/java/com/product/project/management/config/SystemCode.java b/product-server-project-management/src/main/java/com/product/project/management/config/SystemCode.java index 0c9813b..ff75122 100644 --- a/product-server-project-management/src/main/java/com/product/project/management/config/SystemCode.java +++ b/product-server-project-management/src/main/java/com/product/project/management/config/SystemCode.java @@ -10,11 +10,15 @@ SYSTEM_ACQUIRE_PARAM_FAIL("鑾峰彇鍙傛暟澶辫触", ModuleEnum.SYSTEM.getValue() + "996"), SYSTEM_CPAGES_NOT_NULL("鍒嗛〉鍙傛暟涓嶈兘涓虹┖", ModuleEnum.SYSTEM.getValue() + "995"), - PROJECT_INFO_OPERATE_ERROR("椤圭洰淇℃伅鎿嶄綔澶辫触:", ""), - PROJECT_ITEMIZE_OPERATE_ERROR("椤圭洰鍒嗛」鎿嶄綔閿欒锛�",""), - PROJECT_ITEMIZE_DEL_FAIL_HAS_BUDGET("椤圭洰鍒嗛」鍒犻櫎澶辫触锛屽凡缁忕敓鎴愰绠�",""), - PROJECT_ITEMIZE_DEL_FAIL("椤圭洰鍒嗛」鍒犻櫎澶辫触",""), - PROJECT_BUDGET_IMPORT_FAIL("椤圭洰棰勭畻瀵煎叆澶辫触",""), + PROJECT_INFO_OPERATE_ERROR("椤圭洰淇℃伅鎿嶄綔澶辫触:", ModuleEnum.QXLW_PROJECT.getValue() + "001"), + PROJECT_ITEMIZE_OPERATE_ERROR("椤圭洰鍒嗛」鎿嶄綔閿欒锛�", ModuleEnum.QXLW_PROJECT.getValue() + "002"), + PROJECT_ITEMIZE_DEL_FAIL_HAS_BUDGET("椤圭洰鍒嗛」鍒犻櫎澶辫触锛屽凡缁忕敓鎴愰绠�", ModuleEnum.QXLW_PROJECT.getValue() + "003"), + PROJECT_ITEMIZE_DEL_FAIL("椤圭洰鍒嗛」鍒犻櫎澶辫触", ModuleEnum.QXLW_PROJECT.getValue() + "004"), + + PROJECT_BUDGET_OPERATE_ERROR("椤圭洰棰勭畻鎿嶄綔澶辫触:", ModuleEnum.QXLW_PROJECT.getValue() + "005"), + PROJECT_BUDGET_IMPORT_FAIL("椤圭洰棰勭畻瀵煎叆澶辫触", ModuleEnum.QXLW_PROJECT.getValue() + "006"), + PROJECT_BUDGET_CLEAR_FAIL("椤圭洰棰勭畻娓呯悊澶辫触", ModuleEnum.QXLW_PROJECT.getValue() + "007"), + PROJeCT_BUDGET_CLEAR_FAIL_HAS_OUTBOUND("棰勭畻娓呯悊澶辫触锛屽凡缁忓瓨鍦ㄥ嚭搴撴暟鎹紒", ModuleEnum.QXLW_PROJECT.getValue() + "008"), ; private String text; diff --git a/product-server-project-management/src/main/java/com/product/project/management/controller/ProjectBudgetController.java b/product-server-project-management/src/main/java/com/product/project/management/controller/ProjectBudgetController.java index 10d1319..744e200 100644 --- a/product-server-project-management/src/main/java/com/product/project/management/controller/ProjectBudgetController.java +++ b/product-server-project-management/src/main/java/com/product/project/management/controller/ProjectBudgetController.java @@ -1,5 +1,57 @@ package com.product.project.management.controller; -public class ProjectBudgetController { +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.ProjectBudgetService; +import com.product.util.BaseUtil; + +@RequestMapping("/api/project-budget") +@RestController +public class ProjectBudgetController extends AbstractBaseController{ + + @Autowired + ProjectBudgetService projectBudgetService; + + /** + * 娓呯┖椤圭洰鎵�鏈夐绠� + * + * @param request + * @return + */ + @RequestMapping(value = "/clear-budget/{version}", method = RequestMethod.POST) + @ApiVersion(1) + public String clearBudget(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()); + } + boolean succ = projectBudgetService.clearBudget(fse.getString(Cmnconst.PROJECT_UUID)); + if (succ) { + return OK(); + } + return this.error(SystemCode.PROJECT_BUDGET_CLEAR_FAIL.getValue(), SystemCode.PROJECT_BUDGET_CLEAR_FAIL.getText()); + } catch (BaseException e) { + e.printStackTrace(); + return this.error(e); + } catch (Exception e) { + e.printStackTrace(); + return this.error(SystemCode.PROJECT_BUDGET_OPERATE_ERROR.getValue(), + SystemCode.PROJECT_BUDGET_OPERATE_ERROR.getText() + e.getMessage()); + } + } } diff --git a/product-server-project-management/src/main/java/com/product/project/management/controller/ProjectInfoController.java b/product-server-project-management/src/main/java/com/product/project/management/controller/ProjectInfoController.java index 1a452dc..44067ac 100644 --- a/product-server-project-management/src/main/java/com/product/project/management/controller/ProjectInfoController.java +++ b/product-server-project-management/src/main/java/com/product/project/management/controller/ProjectInfoController.java @@ -173,16 +173,12 @@ //鑾峰彇鍙傛暟 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()); - } //鍒ゆ柇鍒嗛〉鍙傛暟鏄惁涓虹┖ if (BaseUtil.strIsNull(fse.getString(CoreConst.CPAGE)) || BaseUtil.strIsNull(fse.getString(CoreConst.PAGESIZE))) { return this.error(SystemCode.SYSTEM_CPAGES_NOT_NULL.getValue(), SystemCode.SYSTEM_CPAGES_NOT_NULL.getText()); } - return OK_List(projectInfoService.listItemizeBudget(fse.getString(Cmnconst.PROJECT_UUID), fse.getString(Cmnconst.ITEMIZE_CODE), fse.getInteger(CoreConst.CPAGE), fse.getInteger(CoreConst.PAGESIZE))); + return OK_List(projectInfoService.listItemizeBudget(fse.getString(Cmnconst.ITEMIZE_UUID), fse.getInteger(CoreConst.CPAGE), fse.getInteger(CoreConst.PAGESIZE))); } catch (BaseException e) { e.printStackTrace(); return this.error(e); diff --git a/product-server-project-management/src/main/java/com/product/project/management/service/ProjectBudgetService.java b/product-server-project-management/src/main/java/com/product/project/management/service/ProjectBudgetService.java index 118b9ff..bb14965 100644 --- a/product-server-project-management/src/main/java/com/product/project/management/service/ProjectBudgetService.java +++ b/product-server-project-management/src/main/java/com/product/project/management/service/ProjectBudgetService.java @@ -1,6 +1,5 @@ package com.product.project.management.service; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -15,6 +14,7 @@ import com.product.core.service.support.AbstractBaseService; import com.product.project.management.config.Cmnconst; import com.product.project.management.config.SystemCode; +import com.product.project.management.util.ItemizeUtil; import com.product.project.management.util.ProjectItemUtil; import com.product.util.BaseUtil; @@ -32,6 +32,9 @@ * @param headerDataList excel鏍囬鏁版嵁 */ public DataTableEntity importBudget2(DataTableEntity dtParseData, List<List<String>> headerDataList) { + try { + + //鍒ゆ柇鏄惁鏈夎В鏋怑XCEL鏁版嵁 if (BaseUtil.dataTableIsEmpty(dtParseData)) { return null; @@ -46,8 +49,34 @@ for (int i = 0; i < dtParseData.getRows(); i++) { //鑾峰彇excel琛屾暟鎹� FieldSetEntity fseParseData = dtParseData.getFieldSetEntity(i); + //鐢熸垚椤圭洰鍒嗛」 String uuid = autoCreateProjectItem(dtNewProjectItem, fseParseData, itemizeFullNameAndUUID, itemizeFullNameAndCode, itemizeFullNameAndMaxCode); fseParseData.setValue(Cmnconst.PROJECT_ITEMIZE_UUID, uuid); + + //鐢熸垚鏉愭枡绫诲瀷 + String bugetCode = fseParseData.getString(Cmnconst.BUDGET_CODE); + String materialType = null; + if ("澹版祴绠�".equals(bugetCode)) { + materialType = "2"; + }else { + String materialCode = fseParseData.getString(Cmnconst.MATERIAL_CODE); + if (materialCode.contains("鏋剁珛绛�")) { + materialType = "1"; + fseParseData.setValue(Cmnconst.MATERIAL_CODE, ItemizeUtil.getChineseOrEnglishOrNumber("ENGLISHNUMBER", materialCode)); + }else if (materialCode.contains("閽㈢瓔缃�")) { + materialType = "3"; + fseParseData.setValue(Cmnconst.MATERIAL_CODE, ItemizeUtil.getChineseOrEnglishOrNumber("ENGLISHNUMBER", materialCode)); + }else{ + FieldSetEntity fseMaterial = baseDao.getFieldSetEntityByFilter(Cmnconst.PRODUCT_PROJECT_BASE_MATERIAL,"material_code=?", new Object[] {materialCode}, false); + if (fseMaterial != null) { + materialType = fseMaterial.getString(Cmnconst.MATERIAL_TYPE); + if (materialType.indexOf("0")>-1) { + materialType = "0"; + } + } + } + } + fseParseData.setValue(Cmnconst.MATERIAL_TYPE, materialType); } if (!BaseUtil.dataTableIsEmpty(dtNewProjectItem)) { try { @@ -55,6 +84,9 @@ } catch (Exception e) { e.printStackTrace(); } + } + } catch (Exception e) { + e.printStackTrace(); } return dtParseData; } @@ -73,8 +105,10 @@ public String autoCreateProjectItem(DataTableEntity dtNewProjectItem, FieldSetEntity fseParseData, Map<String, String> itemizeFullNameAndUUID, Map<String, String> itemizeFullNameAndCode, Map<String, String> itemizeFullNameAndMaxCode) { String itemizFullName = null; String finalUUID = null; + FieldSetEntity fseProject = baseDao.getFieldSetByFilter(Cmnconst.PRODUCT_PROJECT_QXLW, "project_name=?", new Object[] {fseParseData.getString("field0")}, false); + String projectUUID = fseProject.getUUID(); //寰幆field1~field6瀛楁锛岄�愭鐢熸垚瀵瑰簲鐨勯」鐩垎椤规暟鎹� - for (int i = 1; i < 7; i++) { + for (int i = 1; i < 8; i++) { //鑾峰彇鍒嗛」鍚嶇О,鍒ゆ柇鏄惁涓虹┖ String itemize = fseParseData.getString("field"+i); @@ -97,7 +131,7 @@ //鍒ゆ柇椤圭洰鍒嗛」鏄惁瀛樺湪浜庨泦鍚堜腑 if(!itemizeFullNameAndCode.containsKey(itemizFullName)) { //鏌ヨ鍒嗛」鍜屼笂绾у垎椤规槸鍚﹀瓨鍦ㄤ簬鏁版嵁搴撲腑 - FieldSetEntity fseProjectItem = baseDao.getFieldSetEntityByFilter(Cmnconst.PRODUCT_PROJECT_ITEM, "itemize_full_name=?", new Object[] {itemizFullName}, false); + FieldSetEntity fseProjectItem = baseDao.getFieldSetEntityByFilter(Cmnconst.PRODUCT_PROJECT_ITEM, "project_uuid = ? AND itemize_full_name=?", new Object[] {projectUUID,itemizFullName}, false); if (fseProjectItem == null) { String uuid = UUID.randomUUID().toString(); String code; @@ -107,9 +141,9 @@ }else { FieldSetEntity fseMaxProjectItem; if(BaseUtil.strIsNull(itemizeParent)) { - fseMaxProjectItem = baseDao.getFieldSetEntityByFilter(Cmnconst.PRODUCT_PROJECT_ITEM, new String[] {"Max(itemize_code)itemize_code"}, "itemize_parent_code IS NULL", new Object[] {}, false, null); + fseMaxProjectItem = baseDao.getFieldSetEntityByFilter(Cmnconst.PRODUCT_PROJECT_ITEM, new String[] {"Max(itemize_code)itemize_code"}, "project_uuid = ? AND itemize_parent_code IS NULL", new Object[] {projectUUID}, false, null); }else { - fseMaxProjectItem = baseDao.getFieldSetEntityByFilter(Cmnconst.PRODUCT_PROJECT_ITEM, new String[] {"Max(itemize_code)itemize_code"}, "itemize_parent_code = ?", new Object[] {itemizeFullNameAndCode.get(itemizeParent)}, false, null); + fseMaxProjectItem = baseDao.getFieldSetEntityByFilter(Cmnconst.PRODUCT_PROJECT_ITEM, new String[] {"Max(itemize_code)itemize_code"}, "project_uuid = ? AND itemize_parent_code = ?", new Object[] {projectUUID, itemizeFullNameAndCode.get(itemizeParent)}, false, null); } if (fseMaxProjectItem==null || BaseUtil.strIsNull(fseMaxProjectItem.getString(Cmnconst.ITEMIZE_CODE))) { code = ProjectItemUtil.autoCreateCode(itemizeFullNameAndCode.get(itemizeParent)); @@ -120,7 +154,7 @@ FieldSetEntity fseNewProject = new FieldSetEntity(Cmnconst.PRODUCT_PROJECT_ITEM); fseNewProject.setValue(Cmnconst.UUID, uuid); fseNewProject.setValue("~type~", "add"); -// fseNewProject.setValue(Cmnconst.PROJECT_UUID, ); + fseNewProject.setValue(Cmnconst.PROJECT_UUID, projectUUID); fseNewProject.setValue(Cmnconst.ITEMIZE, itemize); fseNewProject.setValue(Cmnconst.ITEMIZE_CODE, code); fseNewProject.setValue(Cmnconst.ITEMIZE_PARENT_CODE, itemizeFullNameAndCode.get(itemizeParent)); @@ -135,9 +169,9 @@ String code = fseProjectItem.getString(Cmnconst.ITEMIZE_CODE); FieldSetEntity fseMaxProjectItem; if (BaseUtil.strIsNull(fseProjectItem.getString(Cmnconst.ITEMIZE_PARENT_CODE))) { - fseMaxProjectItem = baseDao.getFieldSetEntityByFilter(Cmnconst.PRODUCT_PROJECT_ITEM, new String[] {"Max(itemize_code)itemize_code"}, "itemize_parent_code IS NULL", new Object[] {}, false, null); + fseMaxProjectItem = baseDao.getFieldSetEntityByFilter(Cmnconst.PRODUCT_PROJECT_ITEM, new String[] {"Max(itemize_code)itemize_code"}, "project_uuid = ? AND itemize_parent_code IS NULL", new Object[] {projectUUID}, false, null); }else { - fseMaxProjectItem = baseDao.getFieldSetEntityByFilter(Cmnconst.PRODUCT_PROJECT_ITEM, new String[] {"Max(itemize_code)itemize_code"}, "itemize_parent_code=?", new Object[] {fseProjectItem.getString(Cmnconst.ITEMIZE_PARENT_CODE)}, false, null); + fseMaxProjectItem = baseDao.getFieldSetEntityByFilter(Cmnconst.PRODUCT_PROJECT_ITEM, new String[] {"Max(itemize_code)itemize_code"}, " project_uuid = ? AND itemize_parent_code=?", new Object[] {projectUUID, fseProjectItem.getString(Cmnconst.ITEMIZE_PARENT_CODE)}, false, null); } itemizeFullNameAndUUID.put(itemizFullName, uuid); itemizeFullNameAndCode.put(itemizFullName, code); @@ -149,79 +183,15 @@ } /** - * 椤圭洰棰勭畻瀵煎叆 - * @param dtParseData 瑙f瀽鏁版嵁 - * @param headerDataList excel鏍囬鏁版嵁 - */ - public DataTableEntity importBudget(DataTableEntity dtParseData, List<List<String>> headerDataList) { - //鍒ゆ柇鏄惁鏈夎В鏋怑XCEL鏁版嵁 - if (BaseUtil.dataTableIsEmpty(dtParseData)) { - return null; - } - //澹版槑寮傚父闆� - StringBuilder sbError = new StringBuilder(); - //閬嶅巻excel杞崲鏁版嵁 - for (int i = 0; i < dtParseData.getRows(); i++) { - FieldSetEntity fseParseData = dtParseData.getFieldSetEntity(i); - - //鏍规嵁瑙f瀽鏁版嵁鑾峰彇椤圭洰鍒嗛」淇℃伅 - List<Object> params = new ArrayList<>(); - String projectItem = autoCreateFilter(params, fseParseData); - - //鏍规嵁妯℃澘椤圭洰鍒嗛」鏌ヨ鏁版嵁搴撻」鐩垎椤� - FieldSetEntity fseProjectItem = baseDao.getFieldSetEntityByFilter(Cmnconst.PRODUCT_PROJECT_ITEM, "project_uuid IN (SELECT uuid FROM product_project_qxlw WHERE project_name=?) AND itemize_full_name=?", params.toArray(), false); - if(fseProjectItem==null) { - sbError.append(String.format("绗� %s 琛岄」鐩垎椤� '%s' 涓嶅瓨鍦ㄤ簬绯荤粺涓��", fseParseData.getString("~row~"), projectItem)); - continue; - } - //璁剧疆鍏宠仈椤圭洰鍒嗛」 - fseParseData.setValue("project_itemize_uuid", fseProjectItem.getUUID()); - - //鑾峰彇缂栫爜鐢熸垚鏉愭枡绫诲瀷 - String budgetCode = fseParseData.getString(Cmnconst.BUDGET_CODE); - Integer materialType = 0; - if("鏋剁珛绛�".equals(budgetCode)) { - materialType = 1; - }else if("澹版祴绠�".equals(budgetCode)) { - materialType = 2; - }else { - //缃戠墖 - FieldSetEntity materialInfo = baseDao.getFieldSetEntityByFilter(Cmnconst.PRODUCT_PROJECT_BASE_MATERIAL, "material_type=3 AND material_name like ?", new Object[] {fseParseData.getString(Cmnconst.MATERIAL_CODE)+"%"}, false); - if (materialInfo!=null) { - materialType = 3; - } - } - fseParseData.setValue(Cmnconst.MATERIAL_TYPE, materialType); - } - //鍒ゆ柇鏄惁鍖呭惈閿欒淇℃伅 - if (!BaseUtil.strIsNull(sbError.toString())) { - throw new BaseException(SystemCode.PROJECT_BUDGET_IMPORT_FAIL.getValue(), sbError.toString()); - } - return dtParseData; - } - - /** - * 鑷姩鐢熸垚鏌ヨ椤圭洰鍒嗛」filter - * @param params - * @param fseParseData + * 娓呴櫎鎵�鏈夐绠� + * @param projectUUID * @return */ - public String autoCreateFilter(List<Object> params , FieldSetEntity fseParseData) { - StringBuilder projectItem = new StringBuilder(); - for (int i = 1; i < 7; i++) { - String fieldValue = fseParseData.getString("field"+i); - if(!BaseUtil.strIsNull(fieldValue)) { - if (i>2) { - projectItem.append("/"); - } - if(i==1) { - params.add(fieldValue); - }else{ - projectItem.append(fieldValue); - } - } + public boolean clearBudget(String projectUUID) { + DataTableEntity dtOutbound = baseDao.listTable(Cmnconst.PRODUCT_PROJECT_OUTBOUND, "project_uuid=?", new Object[] {projectUUID}); + if (!BaseUtil.dataTableIsEmpty(dtOutbound)) { + throw new BaseException(SystemCode.PROJeCT_BUDGET_CLEAR_FAIL_HAS_OUTBOUND.getValue(), SystemCode.PROJeCT_BUDGET_CLEAR_FAIL_HAS_OUTBOUND.getText()); } - params.add(projectItem.toString()); - return projectItem.toString(); + return baseDao.executeUpdate("DELETE FROM product_project_budget WHERE project_itemize_uuid IN (SELECT uuid FROM product_project_item WHERE project_uuid=?)", new Object[] {projectUUID}); } } 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 bc24ed8..21dd0f8 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; @@ -97,30 +94,20 @@ /** * 鑾峰彇鍒嗛」棰勭畻淇℃伅 * - * @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; } /** diff --git a/product-server-project-management/src/main/java/com/product/project/management/util/ItemizeUtil.java b/product-server-project-management/src/main/java/com/product/project/management/util/ItemizeUtil.java new file mode 100644 index 0000000..7070b28 --- /dev/null +++ b/product-server-project-management/src/main/java/com/product/project/management/util/ItemizeUtil.java @@ -0,0 +1,46 @@ +package com.product.project.management.util; + +public class ItemizeUtil { + + + public static void main(String[] args) { + System.out.println(getChineseOrEnglishOrNumber("ENGLISH","C12鏋剁珛绛�")); + System.out.println(getChineseOrEnglishOrNumber("NUMBER","C12鏋剁珛绛�")); + System.out.println(getChineseOrEnglishOrNumber("CHINESE","C12鏋剁珛绛�")); + System.out.println(getChineseOrEnglishOrNumber("ENGLISHNUMBER","C12鏋剁珛绛�")); + System.out.println(getChineseOrEnglishOrNumber("NUMBERCHINESE","C12鏋剁珛绛�")); + } + + /** + * 鏍规嵁璇█鎴彇瀵瑰簲鏂囨湰 + * @param language + * @param str + * @return + */ + public static String getChineseOrEnglishOrNumber(String language, String str) { + StringBuffer sbf = new StringBuffer(); + char[] charArray = str.toCharArray(); + for (int i = 0; i < charArray.length; i++) { + // 鑾峰緱涓枃 + if (language.toUpperCase().indexOf("CHINESE") > -1) { + // Java鍒ゆ柇涓�涓瓧绗︿覆鏄惁鏈変腑鏂囨槸鍒╃敤Unicode缂栫爜鏉ュ垽鏂紝鍥犱负涓枃鐨勭紪鐮佸尯闂翠负锛�0x4e00--0x9fbb + if ((charArray[i] >= 0x4e00) && (charArray[i] <= 0x9fbb)) { + sbf.append(charArray[i]); + } + } + if (language.toUpperCase().indexOf("ENGLISH") > -1) { + // Java鍒ゆ柇涓�涓瓧绗︿覆鏄惁鏈変腑鏂囨槸鍒╃敤Unicode缂栫爜鏉ュ垽鏂紝鍥犱负涓枃鐨勭紪鐮佸尯闂翠负锛�65--122 + if ((charArray[i] >= 65) && (charArray[i] <= 122)) { + sbf.append(charArray[i]); + } + } + if (language.toUpperCase().indexOf("NUMBER") > -1) { + // Java鍒ゆ柇涓�涓瓧绗︿覆鏄惁鏈変腑鏂囨槸鍒╃敤Unicode缂栫爜鏉ュ垽鏂紝鍥犱负鏁板瓧鐨勭紪鐮佸尯闂翠负锛�48--57 + if (str.charAt(i) >= 48 && str.charAt(i) <= 57) { + sbf.append(charArray[i]); + } + } + } + return sbf.toString(); + } +} -- Gitblit v1.9.2