From 1612759809f61b59a78c5dddc85b60ee8def21c8 Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期二, 09 五月 2023 16:54:49 +0800
Subject: [PATCH] 业务类型修正
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java | 125 +++++++++++++++++++++++++++++------------
1 files changed, 88 insertions(+), 37 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java
index cd84de8..d6584b6 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java
@@ -10,7 +10,7 @@
import com.vci.ubcs.code.entity.CodeBasicSec;
import com.vci.ubcs.code.entity.CodeClassifyValue;
import com.vci.ubcs.code.entity.CodeFixedValue;
-import com.vci.ubcs.code.enumpack.CodeSecTypeEnum;
+import com.vci.ubcs.code.enumpack.*;
import com.vci.ubcs.code.lifecycle.CodeRuleLC;
import com.vci.ubcs.code.mapper.CodeBasicSecMapper;
import com.vci.ubcs.code.mapper.CodeClassifyValueMapper;
@@ -21,16 +21,17 @@
import com.vci.ubcs.code.vo.pagemodel.CodeBasicSecVO;
import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
import com.vci.ubcs.code.wrapper.CodeBasicSecWrapper;
-import com.vci.ubcs.com.vci.starter.exception.VciBaseException;
-import com.vci.ubcs.com.vci.starter.revision.service.RevisionModelUtil;
-import com.vci.ubcs.com.vci.starter.web.enumpck.OsCodeFillTypeEnum;
-import com.vci.ubcs.com.vci.starter.web.pagemodel.KeyValue;
-import com.vci.ubcs.com.vci.starter.web.pagemodel.UIFormReferVO;
-import com.vci.ubcs.com.vci.starter.web.util.BeanUtilForVCI;
-import com.vci.ubcs.com.vci.starter.web.util.VciBaseUtil;
-import com.vci.ubcs.com.vci.starter.web.util.WebUtil;
-import com.vci.ubcs.omd.entity.DictBizM;
-import com.vci.ubcs.omd.feign.IDictBizClient;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
+import com.vci.ubcs.starter.web.enumpck.OsCodeFillTypeEnum;
+import com.vci.ubcs.starter.web.pagemodel.KeyValue;
+import com.vci.ubcs.starter.web.pagemodel.UIFormReferVO;
+import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import com.vci.ubcs.starter.web.util.WebUtil;
+import com.vci.ubcs.system.entity.DictBiz;
+import com.vci.ubcs.system.feign.IDictBizClient;
+import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.context.annotation.Lazy;
@@ -42,7 +43,7 @@
import java.util.*;
import java.util.stream.Collectors;
-import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST;
+import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.*;
/**
* 鐮佹鍩虹淇℃伅鏈嶅姟鎺ュ彛
@@ -159,8 +160,8 @@
*/
@Override
public KeyValue checkAttrNullableBySecType(CodeBasicSecDTO codeBasicSecDTO) {
- VciBaseUtil.alertNotNull(codeBasicSecDTO.getSectype(), "鐮佹鍒嗙被");
- String secType = codeBasicSecDTO.getSectype();
+ VciBaseUtil.alertNotNull(codeBasicSecDTO.getSecType(), "鐮佹鍒嗙被");
+ String secType = codeBasicSecDTO.getSecType();
HashMap<String, String> attrMap = JSONObject.parseObject(JSONObject.toJSONString(codeBasicSecDTO), HashMap.class);
Map<String, String> notNullableAttr = getNotNullableAttr(secType);
if (notNullableAttr == null) {
@@ -203,6 +204,22 @@
//灏咲TO杞崲涓篋O
CodeBasicSec codeBasicSecDO = new CodeBasicSec();
BeanUtilForVCI.copyPropertiesIgnoreCase(codeBasicSecDTO, codeBasicSecDO);
+ //text杞崲
+ codeBasicSecDO.setSecTypeText(CodeSecTypeEnum.getTextByValue(codeBasicSecDTO.getSecType()));
+ codeBasicSecDO.setCodeLevelTypeText(CodeLevelTypeEnum.getTextByValue(codeBasicSecDTO.getCodeLevelType()));
+ codeBasicSecDO.setCodeSecLengthTypeText(CodeSecLengthTypeEnum.getTextByValue(codeBasicSecDTO.getCodeSecLengthType()));
+ codeBasicSecDO.setValueCutTypeText(CodeCutTypeEnum.getValueByText(codeBasicSecDTO.getValueCutType()));
+ codeBasicSecDO.setCodeGetValueTypeText(CodeGetValueTypeEnum.getValueByText(codeBasicSecDTO.getCodeGetValueType()));
+ //濉厖涓�浜涢粯璁ゅ��
+ codeBasicSecDO.setOid(VciBaseUtil.getPk());
+ codeBasicSecDO.setRevisionOid(VciBaseUtil.getPk());
+ codeBasicSecDO.setNameOid(VciBaseUtil.getPk());
+ codeBasicSecDO.setBtmname(MdmBtmTypeConstant.CODE_BASIC_SEC);
+ codeBasicSecDO.setTs(new Date());
+ codeBasicSecDO.setCreateTime(new Date());
+ codeBasicSecDO.setCreator(AuthUtil.getUserId().toString());
+ codeBasicSecDO.setLastModifier(AuthUtil.getUserId().toString());
+ codeBasicSecDO.setLastModifyTime(new Date());
//鎺掑簭鍙凤紝榛樿绛変簬褰撳墠宸叉湁鐨勬暟閲忓姞1
Long total = codeBasicSecMapper.selectCount(Wrappers.<CodeBasicSec>query()
.lambda()
@@ -232,7 +249,7 @@
boolean resBoolean = codeBasicSecMapper.insert(codeBasicSecDO) > 0;
//SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
if(StringUtils.isNotBlank(codeBasicSecDO.getCodeFillSeparator())){
- DictBizM dictBiz = new DictBizM();
+ DictBiz dictBiz = new DictBiz();
dictBiz.setCode(MdmBtmTypeConstant.CODE_BASIC_SEC);
dictBiz.setDictKey("codefileseparator");
dictBiz.setDictValue(codeBasicSecDO.getCodeFillSeparator());
@@ -287,7 +304,8 @@
resBoolean = codeBasicSecMapper.updateById(codeBasicSecDO)>0;
//SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
if(StringUtils.isNotBlank(codeBasicSecDO.getCodeFillSeparator())){
- DictBizM dictBiz = new DictBizM();
+ //杩欏効鐩墠闇�瑕佹敼 2023/4/24
+ DictBiz dictBiz = new DictBiz();
dictBiz.setCode(MdmBtmTypeConstant.CODE_BASIC_SEC);
dictBiz.setDictKey("codefileseparator");
dictBiz.setDictValue(codeBasicSecDO.getCodeFillSeparator());
@@ -350,9 +368,46 @@
* @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯�
*/
@Override
- public boolean deleteCodeBasicSec(CodeBasicSecDTO codeBasicSecDTO) throws VciBaseException {
+ public R deleteCodeBasicSec(CodeBasicSecDTO codeBasicSecDTO) throws VciBaseException {
VciBaseUtil.alertNotNull(codeBasicSecDTO, "鐮佹鍩虹淇℃伅鏁版嵁瀵硅薄", codeBasicSecDTO.getOid(), "鐮佹鍩虹淇℃伅鐨勪富閿�");
- return this.codeBasicSecMapper.deleteById(codeBasicSecDTO.getOid())>0;
+ return this.deleteCodeBasicSecByPrimaryKey(codeBasicSecDTO.getOid());
+ }
+
+ /**
+ * 涓婚敭鍒犻櫎鐮佹鍩虹淇℃伅
+ *
+ * @param oid 鐮佹鍩虹淇℃伅涓婚敭
+ * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
+ * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯�
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R deleteCodeBasicSecByPrimaryKey(String oid) throws VciBaseException {
+ CodeBasicSec codeBasicSecDO = selectByOid(oid);
+ boolean isLinked = checkIsLinked(codeBasicSecDO.getPkCodeRule(), oid);
+ if (isLinked) {
+ return R.fail("缂栫爜瑙勫垯宸茶寮曠敤锛屼笉鍏佽缂栬緫鎴栧垹闄�");
+ }
+ //鎵ц鍒犻櫎鎿嶄綔
+ boolean eftDeleteBasic = codeBasicSecMapper.deleteById(oid) > 0;
+ if (CodeSecTypeEnum.CODE_FIXED_SEC.getValue().equals(codeBasicSecDO.getSecType())){
+ List<CodeFixedValue> fixedValueDOS = fixedValueMapper.selectList(Wrappers.<CodeFixedValue>query()
+ .lambda().eq(CodeFixedValue::getCodeFixedSecOid,codeBasicSecDO.getOid())
+ );
+ if(!CollectionUtils.isEmpty(fixedValueDOS)){
+ fixedValueMapper.deleteBatchIds(fixedValueDOS.stream().map(CodeFixedValue::getOid).collect(Collectors.toSet()));
+ }
+ }
+ if (CodeSecTypeEnum.CODE_CLASSIFY_SEC.getValue().equals(codeBasicSecDO.getSecType())){
+ List<CodeClassifyValue> classifyValueDOS = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query()
+ .lambda().eq(CodeClassifyValue::getCodeClassifySecOid,codeBasicSecDO.getOid())
+ );
+ if(!CollectionUtils.isEmpty(classifyValueDOS)) {
+ codeClassifyValueMapper.deleteBatchIds(classifyValueDOS.stream().map(CodeClassifyValue::getOid).collect(Collectors.toSet()));
+ }
+ }
+
+ return eftDeleteBasic ? R.success(DELETE_SUCCESS) : R.fail(DELETE_FAIL);
}
/**
@@ -405,7 +460,7 @@
if(Func.isEmpty(codeBasicSecVO.getPkCodeRule()) || Func.isBlank(codeBasicSecVO.getPkCodeRule())){
return null;
}
- codeBasicSecVO.setSectype(CodeSecTypeEnum.CODE_CLASSIFY_SEC.getValue());
+ codeBasicSecVO.setSecType(CodeSecTypeEnum.CODE_CLASSIFY_SEC.getValue());
return refDataGridCodeBasicSec(page,codeBasicSecVO);
}
@@ -484,9 +539,7 @@
@Transactional(rollbackFor = Exception.class)
public boolean upOrderNum(String oid) {
CodeBasicSec secDO = selectByOid(oid);
- boolean resUpBoolean = false;
- boolean resDownBoolean = false;
- if(secDO.getOrderNum() >1){
+ if(secDO.getOrderNum() > 1){
//绛変簬1鐨勬椂鍊欎笉鑳戒笂绉讳簡
//鎵炬瘮鑷繁灏忕殑
List<CodeBasicSec> lastSecDOs = codeBasicSecMapper.selectList(Wrappers.<CodeBasicSec>query()
@@ -495,18 +548,17 @@
);
if(!CollectionUtils.isEmpty(lastSecDOs)){
CodeBasicSec lastSec = lastSecDOs.get(0);
- resDownBoolean = codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
+ codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
.lambda().set(CodeBasicSec::getOrderNum, lastSec.getOrderNum() + 1)
.eq(CodeBasicSec::getOid, lastSec.getOid())
- ) > 0;
+ );
}
- secDO.setOrderNum(secDO.getOrderNum()-1);
- resUpBoolean = codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
+ codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
.lambda().set(CodeBasicSec::getOrderNum, secDO.getOrderNum() - 1)
.eq(CodeBasicSec::getOid, secDO.getOid())
- ) > 0;
+ );
}
- return resDownBoolean && resUpBoolean;
+ return true;
}
/**
@@ -518,29 +570,28 @@
@Transactional(rollbackFor = Exception.class)
public boolean downOrderNum(String oid) {
CodeBasicSec secDO = selectByOid(oid);
- boolean resUpBoolean = false;
- boolean resDownBoolean = false;
Long total = codeBasicSecMapper.selectCount(Wrappers.<CodeBasicSec>query()
.lambda().eq(CodeBasicSec::getPkCodeRule,secDO.getPkCodeRule())
);
- if(secDO.getOrderNum() < total){
+ if(secDO.getOrderNum() < total){
//灏忎簬鎬绘暟鐨勬椂鍊欐墠涓嬬Щ
List<CodeBasicSec> lastSecDOs = codeBasicSecMapper.selectList(Wrappers.<CodeBasicSec>query()
- .lambda().eq(CodeBasicSec::getOrderNum,String.valueOf(secDO.getOrderNum()+1))
+ .lambda().eq(CodeBasicSec::getOrderNum,secDO.getOrderNum()+1)
+ .eq(CodeBasicSec::getPkCodeRule,secDO.getPkCodeRule())
);
if(!CollectionUtils.isEmpty(lastSecDOs)){
CodeBasicSec lastSec = lastSecDOs.get(0);
- resUpBoolean = codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
+ codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
.lambda().set(CodeBasicSec::getOrderNum, lastSec.getOrderNum() - 1)
.eq(CodeBasicSec::getOid, lastSec.getOid())
- ) > 0;
+ );
}
- resDownBoolean = codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
+ codeBasicSecMapper.update(null, Wrappers.<CodeBasicSec>update()
.lambda().set(CodeBasicSec::getOrderNum, secDO.getOrderNum() + 1)
.eq(CodeBasicSec::getOid, secDO.getOid())
- ) > 0;
+ );
}
- return resDownBoolean && resUpBoolean;
+ return true;
}
/**
--
Gitblit v1.9.3