lihang
2023-05-04 3579af2945dd38d841a23cd340acd474bb63773a
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyValueServiceImpl.java
@@ -4,11 +4,9 @@
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
import com.vci.ubcs.code.dto.CodeClassifyValueDTO;
import com.vci.ubcs.code.entity.CodeBasicSec;
import com.vci.ubcs.code.entity.CodeClassifyValue;
import com.vci.ubcs.code.enumpack.*;
import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus;
import com.vci.ubcs.code.mapper.CodeClassifyValueMapper;
import com.vci.ubcs.code.service.ICodeBasicSecService;
import com.vci.ubcs.code.service.ICodeClassifyValueService;
@@ -21,7 +19,6 @@
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.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@@ -52,7 +49,7 @@
   /**
    * 上级节点的属性名称
    */
   private static final String PARENT_FIELD_NAME = "parentClassifyValueOid";
   private static  final String PARENT_FIELD_NAME = "parentClassifyValueOid";
   /**
    * 查询分类码段的码值 树
@@ -63,7 +60,7 @@
   @Override
   public List<Tree> treeCodeClassifyValue(TreeQueryObject treeQueryObject) throws VciBaseException {
      // List<CodeClassifyValueDO> doList =selectCodeClassifyValueDOByTree(treeQueryObject);
      List<CodeClassifyValue> doList = selectCodeClassifyValueDO4Tree(treeQueryObject);
      List<CodeClassifyValue> doList =selectCodeClassifyValueDO4Tree(treeQueryObject);
      List<CodeClassifyValueVO> voList = CodeClassifyValueWrapper.build().listVO(doList);
      TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME);
      treeWrapperOptions.copyFromTreeQuery(treeQueryObject);
@@ -81,13 +78,12 @@
    * @throws VciBaseException 参数为空,唯一项,必输项不通过时会抛出异常
    */
   @Override
   @Transactional(rollbackFor = Exception.class)
   public boolean addSave(CodeClassifyValueDTO codeClassifyValueDTO) throws VciBaseException{
      VciBaseUtil.alertNotNull(codeClassifyValueDTO,"需要添加的数据对象");
      //添加对码值子父级的判断
      if(StringUtils.isNotBlank(codeClassifyValueDTO.getParentClassifyValueOid())){
         String parentclassifyvalueoid = codeClassifyValueDTO.getParentClassifyValueOid();
         String codeclassifysecoid = codeClassifyValueDTO.getCodeClassifySecOid();
      if(StringUtils.isNotBlank(codeClassifyValueDTO.getParentclassifyvalueoid())){
         String parentclassifyvalueoid = codeClassifyValueDTO.getParentclassifyvalueoid();
         String codeclassifysecoid = codeClassifyValueDTO.getCodeclassifysecoid();
         CodeClassifyValue parentDO = codeClassifyValueMapper.selectById(parentclassifyvalueoid);
         if (parentDO.getCodeClassifySecOid().equalsIgnoreCase(codeclassifysecoid)){
            throw new VciBaseException("不允许在父码值中直接添加子码值");
@@ -96,16 +92,6 @@
      //将DTO转换为DO
      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());
      //查询
      List<CodeClassifyValue> existList = codeClassifyValueMapper.selectList(Wrappers.<CodeClassifyValue>query()
         .lambda().eq(CodeClassifyValue::getCodeClassifySecOid, codeClassifyValueDO.getCodeClassifySecOid())
@@ -128,10 +114,6 @@
      //将DTO转换为DO
      CodeClassifyValue codeClassifyValueDO = selectByOid(codeClassifyValueDTO.getOid());
      revisionModelUtil.copyFromDTOIgnore(codeClassifyValueDTO,codeClassifyValueDO);
      //填充一些默认值
      codeClassifyValueDO.setTs(new Date());
      codeClassifyValueDO.setLastModifier(AuthUtil.getUserId().toString());
      codeClassifyValueDO.setLastModifyTime(new Date());
      boolean resBoolean = codeClassifyValueMapper.updateById(codeClassifyValueDO) > 0;
      return resBoolean;
   }
@@ -221,7 +203,7 @@
      VciBaseUtil.alertNotNull(codeClassifyValueDTO,"分类码段的码值数据对象",codeClassifyValueDTO.getOid(),"分类码段的码值的主键");
      CodeClassifyValue codeClassifyValueDO = selectByOid(codeClassifyValueDTO.getOid());
      R baseResult = checkIsCanDeleteForDO(codeClassifyValueDTO,codeClassifyValueDO);
      if(!baseResult.isSuccess()) {
      if(baseResult.isSuccess()) {
         //找下级的,这个是可以删除的时候R
         List<String> childrenOids = codeClassifyValueMapper.selectAllLevelChildOid(codeClassifyValueDO.getOid().trim());
         if (!CollectionUtils.isEmpty(childrenOids)) {
@@ -298,12 +280,12 @@
      List<CodeClassifyValue> updateList = new ArrayList<>();
      dtoList.forEach(dto -> {
         if(StringUtils.isNotBlank(dto.getOid())){
         if( StringUtils.isNotBlank( dto.getOid() )){
            List<CodeClassifyValue> collect = valueDOList.stream().filter(value -> {
               return dto.getOid().equals(value.getOid());
            }).collect(Collectors.toList());
            collect.forEach(ccv -> {
               ccv.setOrderNum(dto.getOrderNum());
               ccv.setOrderNum(dto.getOrdernum());
               ccv.setId(dto.getId());
               ccv.setName(dto.getName());
               updateList.add(ccv);
@@ -353,8 +335,9 @@
      List<String> oids = codeBasicSecService.getOidByCodeclassifysecOid(conditionMap.get("codeclassifysecoid"));
      LambdaQueryWrapper<CodeClassifyValue> wrapper = Wrappers.<CodeClassifyValue>query()
         .lambda().in(CodeClassifyValue::getCodeClassifySecOid,oids)
         .orderByAsc(CodeClassifyValue::getOrderNum);
         .orderByDesc(CodeClassifyValue::getOrderNum);
      return codeClassifyValueMapper.selectList(wrapper);
   }
}