354798ggg
2023-08-06 25b96182ecf21d325ce560a9b9d1f4f3e0ef55b2
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