ludc
2023-07-14 7602a824e39e19260ae32bb45e799e6ce43300ac
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java
@@ -2,6 +2,7 @@
import com.alibaba.cloud.commons.lang.StringUtils;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -38,6 +39,7 @@
import com.vci.ubcs.system.entity.DictBiz;
import com.vci.ubcs.system.feign.IDictBizClient;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
@@ -161,8 +163,10 @@
         Set<String> fixedSecOidSet = fixedSecList.stream().map(CodeBasicSec::getOid).collect(Collectors.toSet());
         // 通过外键进行查询
         List<CodeFixedValue> fixedValueS = fixedValueMapper.selectList(Wrappers.<CodeFixedValue>query().lambda().in(CodeFixedValue::getCodeFixedSecOid,fixedSecOidSet));
         // 根据查询出来的id执行固定码段执行删除
         deletFlag = fixedValueMapper.deleteBatchIds(fixedValueS.stream().map(CodeFixedValue::getOid).collect(Collectors.toSet()))>0;
         if(!fixedValueS.isEmpty()){
            // 根据查询出来的id执行固定码段执行删除
            deletFlag = fixedValueMapper.deleteBatchIds(fixedValueS.stream().map(CodeFixedValue::getOid).collect(Collectors.toSet()))>0;
         }
      }
      // 4、再删除分类码段
      List<CodeBasicSec> classifySecList = deleteList.stream().filter(sec -> {
@@ -173,8 +177,10 @@
         Set<String> classifySecOidSet = classifySecList.stream().map(CodeBasicSec::getOid).collect(Collectors.toSet());
         // 通过外键进行查询
         List<CodeClassifyValue> fixedValueS = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query().lambda().in(CodeClassifyValue::getCodeClassifySecOid,classifySecOidSet));
         // 根据查询出来的主键id执行固定码段执行删除
         deletFlag = fixedValueMapper.deleteBatchIds(fixedValueS.stream().map(CodeClassifyValue::getOid).collect(Collectors.toSet()))>0;
         if(!fixedValueS.isEmpty()){
            // 根据查询出来的主键id执行固定码段执行删除
            deletFlag = fixedValueMapper.deleteBatchIds(fixedValueS.stream().map(CodeClassifyValue::getOid).collect(Collectors.toSet()))>0;
         }
      }
      return deletFlag;
   }
@@ -266,9 +272,9 @@
         }catch (Throwable e){
            throw new VciBaseException("引用码段的时候,参照配置的内容的格式不正确,",new String[0],e);
         }
         // 判断是否为引用码段,如果是应用码段的话,为了适配前端组件,这里要对表进行处理一下,按照以前的参照格式进行转换
         codeBasicSecDO.setReferValueInfo(referConfigToUIUiTable(codeReferConfigVO));
         if(codeReferConfigVO.getIsPersistence()=="true"){
            // 判断是否为引用码段,如果是应用码段的话,为了适配前端组件,这里要对表进行处理一下,按照以前的参照格式进行转换
            codeBasicSecDO.setReferValueInfo(referConfigTOUIUiTable(codeReferConfigVO));
            codeReferConfigService.insert(codeReferConfigVO);
         }
      }
@@ -291,7 +297,7 @@
    * @param codeReferConfig
    * @return
    */
   private String referConfigTOUIUiTable(CodeReferConfigVO codeReferConfig){
   private String referConfigToUIUiTable(CodeReferConfigVO codeReferConfig){
      // 拷贝为以前的老对象
      UIReferConfigFormVO uiFormReferVO = new UIReferConfigFormVO();
      BeanUtil.copy(codeReferConfig,uiFormReferVO);
@@ -361,25 +367,31 @@
            && StringUtils.isBlank(codeBasicSecDO.getCodeFillSeparator())){
            throw new VciBaseException("当补位方式为左补位或者右补位的时候,补位字符不能为空");
         }
         CodeReferConfigVO codeReferConfigVO = null;
         //引用码段的时候,需要判断参照的信息是否正确
         if(CodeSecTypeEnum.CODE_REFER_SEC.getValue().equalsIgnoreCase(codeBasicSecDO.getSecType())){
            if(StringUtils.isBlank(codeBasicSecDO.getReferConfig())){
               throw new VciBaseException("引用码段的时候,需要填写 参照配置 的内容");
               throw new VciBaseException("引用码段的时候,需要填写参照配置的内容");
            }
            try{
               JSONObject.parseObject(codeBasicSecDO.getReferConfig(), UIFormReferVO.class);
               // JSONObject.parseObject(codeBasicSecDO.getReferConfig(), UIFormReferVO.class);
               codeReferConfigVO = JSONObject.parseObject(codeBasicSecDO.getReferConfig(), CodeReferConfigVO.class);
            }catch (Throwable e){
               throw new VciBaseException("引用码段的时候,参照配置的内容的格式不正确,",new String[0],e);
            }
            // 判断是否为引用码段,如果是应用码段的话,为了适配前端组件,这里要对表进行处理一下,按照以前的参照格式进行转换
            codeBasicSecDO.setReferValueInfo(referConfigToUIUiTable(codeReferConfigVO));
            if(codeReferConfigVO.getIsPersistence()=="true"){
               codeReferConfigService.insert(codeReferConfigVO);
            }
         }
         revisionModelUtil.copyFromDTOIgnore(codeBasicSecDTO, codeBasicSecDO);
         resBoolean = codeBasicSecMapper.updateById(codeBasicSecDO)>0;
         //SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
         if(StringUtils.isNotBlank(codeBasicSecDO.getCodeFillSeparator())){
            //这儿目前需要改 2023/4/24
            DictBiz dictBiz = new DictBiz();
            dictBiz.setCode(MdmBtmTypeConstant.CODE_BASIC_SEC);
            dictBiz.setDictKey("codefileseparator");
            dictBiz.setCode("codeFillSeparator");
            dictBiz.setDictKey(codeBasicSecDO.getCodeFillSeparator());
            dictBiz.setDictValue(codeBasicSecDO.getCodeFillSeparator());
            //从原来的charService(可输可选)更改为调用omd中的接口来实现
            iDictBizClient.getCheck(dictBiz);
@@ -457,7 +469,7 @@
   public R deleteCodeBasicSecByPrimaryKey(String oid) throws VciBaseException {
      CodeBasicSec codeBasicSecDO = selectByOid(oid);
      boolean isLinked = checkIsLinked(codeBasicSecDO.getPkCodeRule(), oid);
      if (!isLinked) {
      if (isLinked) {
         return R.fail("编码规则已被引用,不允许编辑或删除");
      }
      //执行删除操作
@@ -759,14 +771,10 @@
      if(StringUtils.isBlank(ruleOid)){
         return new ArrayList<>();
      }
//      Map<String,String> conditionMap = new HashMap<>();
//      conditionMap.put("pkCodeRule",ruleOid);
//      PageHelper pageHelper = new PageHelper(-1);
//      pageHelper.addDefaultAsc("ordernum");
      QueryWrapper<CodeBasicSec> wrapper = new QueryWrapper<>();
      wrapper.eq("pkCodeRule",ruleOid);
      wrapper.orderByAsc("ordernum");
      List<CodeBasicSec> secDOList = baseMapper.selectList(wrapper);//.selectByCondition(conditionMap, pageHelper);
      LambdaQueryWrapper<CodeBasicSec> wrapper = Wrappers.<CodeBasicSec>query().lambda()
         .eq(CodeBasicSec::getPkCodeRule, ruleOid)
         .orderByAsc(CodeBasicSec::getOrderNum);
      List<CodeBasicSec> secDOList = baseMapper.selectList(wrapper);//
      return codeBasicSecDO2VOs(secDOList,true);
   }