From e0556b5d2389bd9bfc96316b2ddc1e92b1b2dc11 Mon Sep 17 00:00:00 2001
From: 2369059705@qq.com <2369059705@qq.com>
Date: 星期二, 01 八月 2023 17:28:14 +0800
Subject: [PATCH] Merge branch 'master' of http://nonxin.cn:8090/r/project/qxlw
---
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