From 7f0570d20aac189f1b170942bd7100b281a1c824 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 26 四月 2023 00:07:37 +0800 Subject: [PATCH] 代码整合,新增codefixedcontroller --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java | 126 +++++++++++++++++++++++++++++------------ 1 files changed, 89 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..6237099 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 @@ -8,9 +8,10 @@ import com.vci.ubcs.code.constant.MdmBtmTypeConstant; import com.vci.ubcs.code.dto.CodeBasicSecDTO; import com.vci.ubcs.code.entity.CodeBasicSec; +import com.vci.ubcs.code.entity.CodeClassify; 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 +22,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 +44,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 +161,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 +205,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 +250,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 +305,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 +369,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 +461,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 +540,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 +549,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 +571,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