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"; } 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()); } //判断表名是否正确 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 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