From 25b96182ecf21d325ce560a9b9d1f4f3e0ef55b2 Mon Sep 17 00:00:00 2001
From: 354798ggg <1074825718@qq.com>
Date: 星期日, 06 八月 2023 21:25:39 +0800
Subject: [PATCH] 材料信息调整
---
product-server-project-base/src/main/java/com/product/base/service/MaterialManagerService.java | 30 ++++++++++++++
product-server-project-base/src/main/java/com/product/base/controller/MaterialManagerController.java | 38 ++++++++++--------
product-server-project-base/src/main/java/com/product/base/config/CmnConst.java | 16 ++++---
3 files changed, 59 insertions(+), 25 deletions(-)
diff --git a/product-server-project-base/src/main/java/com/product/base/config/CmnConst.java b/product-server-project-base/src/main/java/com/product/base/config/CmnConst.java
index 397ca10..3c3c789 100644
--- a/product-server-project-base/src/main/java/com/product/base/config/CmnConst.java
+++ b/product-server-project-base/src/main/java/com/product/base/config/CmnConst.java
@@ -10,15 +10,14 @@
//table
public static final String PRODUCT_PROJECT_BASE_WAREHOUSE = "product_project_base_warehouse";
public static final String PRODUCT_PROJECT_BASE_MATERIAL = "product_project_base_material";
- public static final String PRODUCT_SYS_DICT="product_sys_dict";
- public static final String PRODUCT_PROJECT_BASE_PROJECT_TYPE="product_project_base_project_type";
- public static final String PRODUCT_PROJECT_BASE_PROJECT_ITEM="product_project_base_project_item";
+ public static final String PRODUCT_PROJECT_BASE_PROJECT_TYPE = "product_project_base_project_type";
+ public static final String PRODUCT_PROJECT_BASE_PROJECT_ITEM = "product_project_base_project_item";
+ public static final String PRODUCT_PROJECT_BASE_MATERIAL_TYPE = "product_project_base_material_type";
//special variable
- public static final String CPAGE="cpage";
- public static final String PAGESIZE="pagesize";
- public static final String MATERIAL_TYPE="material_type";
- public static final String MATERIAL_TYPE_="鏉愭枡绫诲瀷";
+ public static final String CPAGE = "cpage";
+ public static final String PAGESIZE = "pagesize";
+ public static final String MATERIAL_TYPE = "material_type";
//field
public static final String UUID="uuid";
@@ -27,6 +26,9 @@
public static final String ITEMIZW_PARENT_CODE="itemize_parent_code";
public static final String ITEMIZE_TYPE="itemize_type";
public static final String MATERIAL_CODE="material_code";
+ public static final String MATERIAL_TYPE_NAME="material_type_name";
+ public static final String MATERIAL_TYPE_VALUE="material_type_value";
+ public static final String IS_USED="is_used";
}
diff --git a/product-server-project-base/src/main/java/com/product/base/controller/MaterialManagerController.java b/product-server-project-base/src/main/java/com/product/base/controller/MaterialManagerController.java
index eb88597..ed6ff1a 100644
--- a/product-server-project-base/src/main/java/com/product/base/controller/MaterialManagerController.java
+++ b/product-server-project-base/src/main/java/com/product/base/controller/MaterialManagerController.java
@@ -11,10 +11,8 @@
import com.product.base.config.BaseErrorCode;
import com.product.base.config.CmnConst;
import com.product.base.service.MaterialManagerService;
-import com.product.core.config.CoreConst;
import com.product.core.controller.support.AbstractBaseController;
import com.product.core.entity.FieldSetEntity;
-import com.product.core.entity.RequestParameterEntity;
import com.product.module.sys.version.ApiVersion;
import com.product.util.BaseUtil;
@@ -42,21 +40,6 @@
@ApiVersion(1)
public String getMaterialTypeTree(HttpServletRequest request, HttpServletResponse response) {
try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇涓婁紶鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return error(BaseErrorCode.SYSTEM_FORM_NODATA.getValue(), BaseErrorCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝g‘
- if(!CmnConst.PRODUCT_PROJECT_BASE_MATERIAL.equals(fse.getTableName())) {
- return error(BaseErrorCode.SYSTEM_TABLE_NODATA.getValue(), BaseErrorCode.SYSTEM_TABLE_NODATA.getText());
- }
return OK_List(materialManagerService.getMaterialTypeTree());
} catch (Exception e) {
return this.error(BaseErrorCode.PROJECT_BASE_MATERIAL_OPERATE_FAIL.getValue(), BaseErrorCode.PROJECT_BASE_MATERIAL_OPERATE_FAIL.getText()+e.getMessage());
@@ -64,6 +47,27 @@
}
/**
+ * 淇濆瓨鏉愭枡绫诲瀷
+ * @param request
+ * @param response
+ * @return
+ */
+ @RequestMapping(value="/save-material-type/{version}", method = RequestMethod.POST)
+ @ApiVersion(1)
+ public String saveMaterialType(HttpServletRequest request, HttpServletResponse response) {
+ try {
+ //鑾峰彇鍙傛暟
+ FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, CmnConst.PRODUCT_PROJECT_BASE_MATERIAL_TYPE);
+ if (BaseUtil.strIsNull(fse.getString(CmnConst.MATERIAL_TYPE_NAME))) {
+ return error(BaseErrorCode.SYSTEM_FORM_COUNT.getValue(), BaseErrorCode.SYSTEM_FORM_COUNT.getText());
+ }
+ return OK_Add(materialManagerService.saveMaterialType(fse));
+ } catch (Exception e) {
+ return this.error(BaseErrorCode.PROJECT_BASE_MATERIAL_OPERATE_FAIL.getValue(), BaseErrorCode.PROJECT_BASE_MATERIAL_OPERATE_FAIL.getText()+e.getMessage());
+ }
+ }
+
+ /**
* 鑾峰彇鎵�鏈夋潗鏂欎俊鎭�
* @param request
* @param response
diff --git a/product-server-project-base/src/main/java/com/product/base/service/MaterialManagerService.java b/product-server-project-base/src/main/java/com/product/base/service/MaterialManagerService.java
index 281a158..482b519 100644
--- a/product-server-project-base/src/main/java/com/product/base/service/MaterialManagerService.java
+++ b/product-server-project-base/src/main/java/com/product/base/service/MaterialManagerService.java
@@ -33,10 +33,38 @@
* @return
*/
public DataTableEntity getMaterialTypeTree() {
- return baseDao.listTable(CmnConst.PRODUCT_SYS_DICT, "dict_name=?", new Object[] {CmnConst.MATERIAL_TYPE});
+ return baseDao.listTable(CmnConst.PRODUCT_PROJECT_BASE_MATERIAL_TYPE);
}
/**
+ * 鏂板鏉愭枡绫诲瀷
+ * @param fse
+ * @return
+ */
+ public String saveMaterialType(FieldSetEntity fse) {
+ if (BaseUtil.strIsNull(fse.getUUID())) {
+ FieldSetEntity fseMaxValue = baseDao.getFieldSetEntityBySQL("SELECT (MAX(material_type_value) + 1) material_type_value FROM product_project_base_material_type", new Object[] {}, false);
+ fse.setValue(CmnConst.MATERIAL_TYPE_VALUE, fseMaxValue.getString(CmnConst.MATERIAL_TYPE_VALUE));
+ } else {
+ if ("0".equals(fse.getString(CmnConst.IS_USED))) {
+ StringBuilder sb = new StringBuilder(256);
+ sb.append("SELECT SUM(num)num FROM ( ")
+ .append(" select COUNT(*)num from product_project_budget A where a.material_type=? ")
+ .append(" UNION ALL ")
+ .append(" select COUNT(*)num from product_project_base_material WHERE FIND_IN_SET (?,material_type)>0 ")
+ .append(" )A ");
+ FieldSetEntity fseCount = baseDao.getFieldSetEntityBySQL(sb.toString(), new Object[] { fse.getString("material_type_value"),fse.getString("material_type_value") }, false);
+ if (fseCount.getInteger("num")<1) {
+ baseDao.executeUpdate("DELETE FROM product_project_base_material_type WHERE uuid=?", new Object[] {fse.getUUID()});
+ return fse.getUUID();
+ }
+ }
+ }
+ baseDao.saveFieldSetEntity(fse);
+ return fse.getUUID();
+ }
+
+ /**
* 鍒嗛〉鑾峰彇鏉愭枡淇℃伅
* @param fse
* @return
--
Gitblit v1.9.2