ludc
2023-07-18 ec407e8676f6245d88da3d9f729ad545ae3218c0
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java
@@ -1,6 +1,7 @@
package com.vci.ubcs.code.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -18,12 +19,15 @@
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.revision.model.TreeWrapperOptions;
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.web.pagemodel.Tree;
import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -62,7 +66,6 @@
    */
   @Override
   public List<Tree> treeCodeClassifyValue(TreeQueryObject treeQueryObject) throws VciBaseException {
      // List<CodeClassifyValueDO> doList =selectCodeClassifyValueDOByTree(treeQueryObject);
      List<CodeClassifyValue> doList = selectCodeClassifyValueDO4Tree(treeQueryObject);
      List<CodeClassifyValueVO> voList = CodeClassifyValueWrapper.build().listVO(doList);
      TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME);
@@ -97,15 +100,7 @@
      CodeClassifyValue codeClassifyValueDO = new CodeClassifyValue();
      BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyValueDTO,codeClassifyValueDO);
      //填充一些默认值
      codeClassifyValueDO.setOid(VciBaseUtil.getPk());
      codeClassifyValueDO.setRevisionOid(VciBaseUtil.getPk());
      codeClassifyValueDO.setNameOid(VciBaseUtil.getPk());
      codeClassifyValueDO.setBtmname(MdmBtmTypeConstant.CODE_CLASSIFY_VALUE);
      codeClassifyValueDO.setTs(new Date());
      codeClassifyValueDO.setCreateTime(new Date());
      codeClassifyValueDO.setCreator(AuthUtil.getUserId().toString());
      codeClassifyValueDO.setLastModifier(AuthUtil.getUserId().toString());
      codeClassifyValueDO.setLastModifyTime(new Date());
      DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyValueDO,MdmBtmTypeConstant.CODE_CLASSIFY_VALUE);
      //查询
      List<CodeClassifyValue> existList = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query()
         .lambda().eq(CodeClassifyValue::getCodeClassifySecOid, codeClassifyValueDO.getCodeClassifySecOid())
@@ -123,15 +118,14 @@
    * @throws VciBaseException 参数为空,唯一项,必输项不通过时会抛出异常
    */
   @Override
   @Transactional(rollbackFor = Exception.class)
   public boolean editSave(CodeClassifyValueDTO codeClassifyValueDTO) throws VciBaseException{
      VciBaseUtil.alertNotNull(codeClassifyValueDTO,"数据对象",codeClassifyValueDTO.getOid(),"分类码段的码值主键");
      //将DTO转换为DO
      CodeClassifyValue codeClassifyValueDO = selectByOid(codeClassifyValueDTO.getOid());
      revisionModelUtil.copyFromDTOIgnore(codeClassifyValueDTO,codeClassifyValueDO);
      //填充一些默认值
      codeClassifyValueDO.setTs(new Date());
      codeClassifyValueDO.setLastModifier(AuthUtil.getUserId().toString());
      codeClassifyValueDO.setLastModifyTime(new Date());
      DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeClassifyValueDO);
      boolean resBoolean = codeClassifyValueMapper.updateById(codeClassifyValueDO) > 0;
      return resBoolean;
   }
@@ -290,7 +284,7 @@
    */
   @Override
   @Transactional(rollbackFor = Exception.class)
   public R batchSave4Order(List<CodeClassifyValueDTO> dtoList, String codeclassifysecoid) {
   public R batchSave4Order(List<CodeClassifyValueDTO> dtoList, String codeclassifysecoid) throws VciBaseException{
      VciBaseUtil.alertNotNull(codeclassifysecoid,"分类码段主键");
      List<CodeClassifyValue> valueDOList = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query()
         .lambda().eq(CodeClassifyValue::getCodeClassifySecOid,codeclassifysecoid)
@@ -310,6 +304,9 @@
            });
         }
      });
      if(updateList.isEmpty()){
         return R.fail("该操作有误【待操作集合为空】。");
      }
      boolean resBoolean = this.updateBatchById(updateList);
      return R.status(resBoolean);
   }
@@ -357,4 +354,78 @@
      return codeClassifyValueMapper.selectList(wrapper);
   }
   /**
    * 使用码段的主键获取分类的码值内容
    *
    * @param classifySecOid         码段的主键
    * @param parentClassifyValueOid 上级分类的主键
    * @return 分类码值的内容
    */
   @Override
   public List<CodeClassifyValueVO> listCodeClassifyValueBySecOid(String classifySecOid, String parentClassifyValueOid) {
      if(StringUtils.isBlank(classifySecOid)){
         return new ArrayList<>();
      }
      CodeBasicSec secDO = codeBasicSecService.getById(classifySecOid);
      if(secDO == null || StringUtils.isBlank(secDO.getOid())){
         throw new VciBaseException("码段的内容在系统中不存在");
      }
      if(StringUtils.isNotBlank(secDO.getParentClassifySecOid()) && StringUtils.isBlank(parentClassifyValueOid)){
         return new ArrayList<>();
         //因为有上级分类的时候,必须先选择上级分类的内容
      }
//      Map<String,String> conditionMap = new HashMap<>();
//      conditionMap.put("codeClassifySecOid",classifySecOid);
//      if(StringUtils.isNotBlank(parentClassifyValueOid)){
//         conditionMap.put("parentClassifyValueOid",parentClassifyValueOid);
//      }
//      PageHelper pageHelper = new PageHelper(-1);
//      pageHelper.addDefaultAsc("ordernum");
      QueryWrapper<CodeClassifyValue> wrapper = new QueryWrapper<>();
      wrapper.eq("codeClassifySecOid",classifySecOid);
      if(StringUtils.isNotBlank(parentClassifyValueOid)){
         wrapper.in("parentClassifyValueOid",VciBaseUtil.str2List(parentClassifyValueOid));
      }
      wrapper.orderByAsc("ordernum");
      List<CodeClassifyValue> valueDOList = codeClassifyValueMapper.selectList(wrapper);
      return codeClassifyValueDO2VOs(valueDOList);
   }
   /**
    * 批量数据对象转换为显示对象
    * @param codeClassifyValueDOs 数据对象列表
    * @return 显示对象
    * @throws VciBaseException 参数为空或者不存在的时候会抛出异常
    */
   @Override
   public List<CodeClassifyValueVO> codeClassifyValueDO2VOs(Collection<CodeClassifyValue>  codeClassifyValueDOs) throws VciBaseException{
      List<CodeClassifyValueVO> voList = new ArrayList<CodeClassifyValueVO>();
      if(!CollectionUtils.isEmpty(codeClassifyValueDOs)){
         for(CodeClassifyValue s: codeClassifyValueDOs){
            CodeClassifyValueVO vo =  codeClassifyValueDO2VO(s);
            if(vo != null){
               voList.add(vo);
            }
         }
      }
      return voList;
   }
   /**
    * 数据对象转换为显示对象
    * @param  codeClassifyValueDO 数据对象
    * @return 显示对象
    * @throws VciBaseException 拷贝属性出错的时候会抛出异常
    */
   @Override
   public  CodeClassifyValueVO codeClassifyValueDO2VO(CodeClassifyValue codeClassifyValueDO) throws VciBaseException{
      CodeClassifyValueVO vo = new CodeClassifyValueVO();
      if(codeClassifyValueDO != null){
         BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyValueDO,vo);
         //如果有lcstatus的类的话
      }
      return vo;
   }
}