From 6e9a060403844b37c73d20a13b6d8468fc4a181b Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期五, 08 十二月 2023 11:28:59 +0800
Subject: [PATCH] 1、修改流水最大值处理空指针问题。

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeALlCodeMapper.xml                           |    2 +-
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java |   23 +++++++++++++----------
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
index 32c2f3b..bd645df 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
+++ b/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("鏍规嵁鐮佸�糏D锛�" + 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("鎿嶄綔鎴愬姛锛�");
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeALlCodeMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeALlCodeMapper.xml
index 1a108c6..bed4943 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeALlCodeMapper.xml
+++ b/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,

--
Gitblit v1.9.3