354798ggg
2023-08-01 0e4cd37a3a8bf0cb939c9e14cf68a5e72a0b35ea
代码调整
已添加1个文件
已修改6个文件
284 ■■■■■ 文件已修改
product-server-project-management/src/main/java/com/product/project/management/config/Cmnconst.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-project-management/src/main/java/com/product/project/management/config/SystemCode.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-project-management/src/main/java/com/product/project/management/controller/ProjectBudgetController.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-project-management/src/main/java/com/product/project/management/controller/ProjectInfoController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-project-management/src/main/java/com/product/project/management/service/ProjectBudgetService.java 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-project-management/src/main/java/com/product/project/management/service/ProjectInfoService.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
product-server-project-management/src/main/java/com/product/project/management/util/ItemizeUtil.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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";
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;
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());
        }
    }
}
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);
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 {
        //判断是否有解析EXCEL数据
        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     è§£æžæ•°æ®
     * @param headerDataList excel标题数据
     */
    public DataTableEntity importBudget(DataTableEntity dtParseData, List<List<String>> headerDataList) {
        //判断是否有解析EXCEL数据
        if (BaseUtil.dataTableIsEmpty(dtParseData)) {
            return null;
        }
        //声明异常集
        StringBuilder sbError = new StringBuilder();
        //遍历excel转换数据
        for (int i = 0; i < dtParseData.getRows(); i++) {
            FieldSetEntity fseParseData = dtParseData.getFieldSetEntity(i);
            //根据解析数据获取项目分项信息
            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});
    }
}
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;
    }
    /**
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();
    }
}