yuxc
2023-12-08 6e9a060403844b37c73d20a13b6d8468fc4a181b
1、修改流水最大值处理空指针问题。
已修改2个文件
25 ■■■■■ 文件已修改
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeALlCodeMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -708,28 +708,31 @@
            QueryWrapper<CodeBasicSec> secWrapper = new QueryWrapper<>();
            secWrapper.eq("PKCODERULE",codeAllCodeVO.getCodeRuleOid());
            secWrapper.eq("SECTYPE","codeserialsec");
            CodeBasicSec codeBasicSec = codeBasicSecMapper.selectOne(secWrapper);
            List<CodeBasicSec> codeBasicSecs = codeBasicSecMapper.selectList(secWrapper);
            if(codeBasicSecs.size() == 0 ){
                throw new ServiceException("根据码值ID:" + codeAllCodeVO.getCodeRuleOid() + ",码段类型为流水码段(codeserialsec),在基础码段中未找到相关数据!");
            }
            QueryWrapper<CodeSerialValue> wrapper = new QueryWrapper<>();
            wrapper.eq("codeRuleOid",codeAllCodeVO.getCodeRuleOid());
            wrapper.eq("serialUnit",codeAllCodeVO.getSerialUnit());
            wrapper.eq("codeSecOid",codeBasicSec.getOid());
            CodeSerialValue codeSerialValue = codeSerialValueMapper.selectOne(wrapper);
            if(codeSerialValue == null){
            wrapper.eq("codeSecOid",codeBasicSecs.get(0).getOid());
            List<CodeSerialValue> codeSerialValues = codeSerialValueMapper.selectList(wrapper);
            if(codeSerialValues.size() == 0){
                CodeSerialValue newSerialValue = new CodeSerialValue();
                DefaultAttrAssimtUtil.addDefaultAttrAssimt(newSerialValue,"codeserialvalue");
                newSerialValue.setCodeRuleOid(codeAllCodeVO.getCodeRuleOid());
                newSerialValue.setCodeSecOid(codeBasicSec.getOid());
                newSerialValue.setCodeSecOid(codeBasicSecs.get(0).getOid());
                newSerialValue.setSerialUnit(codeAllCodeVO.getSerialUnit());
                newSerialValue.setMaxSerial(codeAllCodeVO.getUnFillSerial());
                newSerialValue.setLctid("defaultLC");
                newSerialValue.setLcStatus("Exist");
                codeSerialValueMapper.insert(newSerialValue);
            }else{
                codeSerialValue.setMaxSerial(codeAllCodeVO.getUnFillSerial());
                codeSerialValue.setLastModifyTime(new Date());
                codeSerialValue.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
                codeSerialValue.setTs(new Date());
                codeSerialValueMapper.updateById(codeSerialValue);
                codeSerialValues.get(0).setMaxSerial(codeAllCodeVO.getUnFillSerial());
                codeSerialValues.get(0).setLastModifyTime(new Date());
                codeSerialValues.get(0).setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
                codeSerialValues.get(0).setTs(new Date());
                codeSerialValueMapper.updateById(codeSerialValues.get(0));
            }
        }
        return R.success("操作成功!");
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeALlCodeMapper.xml
@@ -13,7 +13,7 @@
        select codeClassifyOid,
               codeRuleOid,
               serialUnit,
               max(unFillSerial) unFillSerial
               nvl(max(unFillSerial),0) unFillSerial
        from (select codeClassifyOid,
                     codeRuleOid,
                     serialUnit,