From 06fe941105240e633956090c22fbca99992a5876 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 18 十二月 2023 10:52:14 +0800
Subject: [PATCH] bug列表253:关键属性校验拼接出来的sql,有时候会报错字符串截断的bug修复

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java |   30 ++++++++++++++++++------------
 1 files changed, 18 insertions(+), 12 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..e021231 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
@@ -670,7 +670,7 @@
 	 * @return
 	 */
 	public List<CodeClassifyVO> selectAllClassifyByOid(String oid, String fieldInPath){
-		List<CodeClassify>  codeClassifyList=codeClassifyMapper.selectAllClassifyByOid(oid,AuthUtil.getTenantId(),fieldInPath);
+		List<CodeClassify>  codeClassifyList=codeClassifyMapper.selectAllClassifyByOid(oid,fieldInPath,AuthUtil.getTenantId());
 		List<CodeClassifyVO> voList = codeClassifyDO2VOs(codeClassifyList);
 		return voList;
 
@@ -688,7 +688,10 @@
 		if(codeClassifies.isEmpty()){
 			return "";
 		}
-		String oids = codeClassifies.stream().map(CodeClassify::getOid).collect(Collectors.joining(","));
+		String oids = codeClassifies.stream()
+			.map(CodeClassify::getOid)
+			.map(s -> "'" + s + "'")
+			.collect(Collectors.joining(","));;
 		return oids;
 	}
 
@@ -708,28 +711,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("鎿嶄綔鎴愬姛锛�");

--
Gitblit v1.9.3