xiejun
2023-12-01 ab234e8b6a7cc2a52be8dbe04c7b731105f6a030
字符集修改,删除接口完善
已修改5个文件
80 ■■■■ 文件已修改
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeRuleCharacterVO.java
@@ -23,6 +23,10 @@
     * 字符集
     */
    private String chartValue;
    /**
     * 需替换的字符
     */
    private String oldChartValue;
    /***
     * 字符类型
     */
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleCharacterController.java
@@ -35,7 +35,7 @@
     */
    @PostMapping("/addSave")
    public R addSave(@RequestBody CodeRuleCharacterVO codeRuleCharacterVO){
        return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO);
        return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO,1);
    }
    /**
     * 修改规则对象
@@ -44,7 +44,7 @@
     */
    @PostMapping("/editSave")
    public R editSave(@RequestBody CodeRuleCharacterVO codeRuleCharacterVO){
        return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO);
        return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO,2);
    }
    /**
@@ -54,6 +54,6 @@
     */
    @PostMapping("/delete")
    public R delete(@RequestBody CodeRuleCharacterVO codeRuleCharacterVO){
        return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO);
        return iCodeRuleCharacterService.saveOrUpdate(codeRuleCharacterVO,3);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmEngineController.java
@@ -754,4 +754,26 @@
    public R addSaveBZ (@RequestBody CodeBZApplyDTO codeBZApplyDTO) throws Exception {
        return R.success(engineService.addSaveBZ(codeBZApplyDTO));
    }
    /**
     * 下载批量申请的导入模板
     * @param codeClassifyOid 分类的主键
     * @param response 响应对象
     * @throws IOException 抛出异常
     */
    @GetMapping("/exportGroupCodeExcel")
    @VciBusinessLog(operateName = "导出集团码")
    public void exportGroupCodeExcel(String codeClassifyOid, HttpServletResponse response) throws IOException{
        String excelName = mdmIOService.createImportExcel(codeClassifyOid,false);
        try {
            ControllerUtil.writeFileToResponse(response,excelName);
        } catch (Throwable e) {
            //如果出错,把错误信息写到text
            String msg = LangBaseUtil.getErrorMsg(e);
            if(StringUtils.isBlank(msg)){
                msg = "未知错误";
            }
            ControllerUtil.writeDataToResponse(response,msg.getBytes(StandardCharsets.UTF_8),null);
        }
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeRuleCharacterService.java
@@ -32,8 +32,9 @@
    /***
     * 保存编码规则字符集
     * @param codeRuleCharacterVO
     * @param operationType
     * @return
     */
    R saveOrUpdate(CodeRuleCharacterVO codeRuleCharacterVO)throws VciBaseException;
    R saveOrUpdate(CodeRuleCharacterVO codeRuleCharacterVO,int operationType)throws VciBaseException;
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleCharacterServiceImpl.java
@@ -10,6 +10,7 @@
import com.vci.ubcs.code.service.ICodeRuleCharacterService;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleCharacterVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.poi.bo.SheetRowData;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.springblade.core.tool.api.R;
@@ -63,20 +64,48 @@
     * @throws VciBaseException
     */
    @Override
    public R saveOrUpdate(CodeRuleCharacterVO codeRuleCharacterVO) throws VciBaseException {
    public R saveOrUpdate(CodeRuleCharacterVO codeRuleCharacterVO,int operation) throws VciBaseException {
        VciBaseUtil.alertNotNull(codeRuleCharacterVO.getCodeRuleId(),"编码规则id",codeRuleCharacterVO.getChartType(),"字符集类型");
        CodeRuleCharacter codeRuleCharacter=codeRuleCharacterMapper.selectOne(Wrappers.<CodeRuleCharacter>query().lambda().eq(CodeRuleCharacter::getCodeRuleId,codeRuleCharacterVO.getCodeRuleId()).eq(CodeRuleCharacter::getChartType,codeRuleCharacterVO.getChartType()));
        if(codeRuleCharacter!=null&& StringUtils.isNotBlank(codeRuleCharacter.getOid())) {
            List<Character> oldCharacterList =  StringUtils.isBlank(codeRuleCharacter.getChartValue())?new ArrayList<>():codeRuleCharacter.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList());
            List<Character> newCharacterList = StringUtils.isBlank(codeRuleCharacterVO.getChartValue())?new ArrayList<>():codeRuleCharacterVO.getChartValue().chars().mapToObj(c -> (char) c).collect(Collectors.toList());
            List<Character> intersectList = intersect(oldCharacterList, newCharacterList);
            if (intersectList.size() > 0) {
                String ss = Joiner.on(",").join(intersectList);
                throw new VciBaseException("系统中存在相应的字符:【" + ss + "】");
            if(operation==1) {//新增时候
                List<Character> intersectList = intersect(oldCharacterList, newCharacterList);
                if (intersectList.size() > 0) {
                    String ss = Joiner.on(",").join(intersectList);
                    throw new VciBaseException("系统中存在相应的字符:【" + ss + "】");
                }
                List<Character> allCharacterList = union(oldCharacterList, newCharacterList);
                String str = allCharacterList.stream().map(integer -> Func.isNotEmpty(integer) ? integer.toString() : "").collect(Collectors.joining());
                codeRuleCharacter.setChartValue(str);
            }else if(operation==2){//修改
                String oldChartValue= codeRuleCharacterVO.getOldChartValue();
                String chartValue= codeRuleCharacterVO.getChartValue();
                Map<String,String> oldChartNewChartMap=new HashMap<>();
                List<Character> chartValueList = StringUtils.isBlank(chartValue)?new ArrayList<>():chartValue.chars().mapToObj(c -> (char) c).collect(Collectors.toList());
                List<Character> oldChartValueList = StringUtils.isBlank(oldChartValue)?new ArrayList<>():oldChartValue.chars().mapToObj(c -> (char) c).collect(Collectors.toList());
                if(chartValueList.size()!=oldChartValueList.size()){
                    throw new VciBaseException("替换的值个数与选中值的个数不相等");
                }
                /***
                 * id
                 */
                for (int i=0;i<oldChartValueList.size();i++){
                    Character oldValue=oldChartValueList.get(i);
                    if(oldCharacterList.contains(oldValue)){
                        int index =oldCharacterList.indexOf(oldValue);
                        oldCharacterList.set(index,chartValueList.get(i));
                    }
                }
                String str = oldCharacterList.stream().map(integer -> Func.isNotEmpty(integer) ? integer.toString() : "").collect(Collectors.joining());
                codeRuleCharacter.setChartValue(str);
            }else{//删除
                oldCharacterList.removeAll(newCharacterList);
                String str = oldCharacterList.stream().map(integer -> Func.isNotEmpty(integer) ? integer.toString() : "").collect(Collectors.joining());
                codeRuleCharacter.setChartValue(str);
            }
            List<Character> allCharacterList = union(oldCharacterList, newCharacterList);
            String str = allCharacterList.stream().map(integer -> Func.isNotEmpty(integer)?integer.toString():"").collect(Collectors.joining());
            codeRuleCharacter.setChartValue(str);
            codeRuleCharacterMapper.updateById(codeRuleCharacter);
        }else{
            codeRuleCharacter=new CodeRuleCharacter();