xiejun
2023-10-13 594563629a879d0ae6af2a3bda7eba1c8b3f9fbb
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java
@@ -1,16 +1,20 @@
package com.vci.ubcs.omd.service.impl;
import com.alibaba.cloud.commons.lang.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.omd.entity.Status;
import com.vci.ubcs.omd.mapper.StatusMapper;
import com.vci.ubcs.omd.constant.BtmTypeConstant;
import com.vci.ubcs.omd.entity.*;
import com.vci.ubcs.omd.mapper.*;
import com.vci.ubcs.omd.service.IStatusService;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.omd.vo.StatusVO;
import com.vci.ubcs.omd.wrapper.BtmTypeWrapper;
import com.vci.ubcs.omd.wrapper.LifeCycleRuleWrapper;
import com.vci.ubcs.omd.wrapper.StatusWrapper;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.web.pagemodel.PageHelper;
import com.vci.ubcs.starter.web.util.BeanUtil;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.springblade.core.mp.support.Condition;
@@ -21,6 +25,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.*;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@@ -35,7 +40,10 @@
public class StatusServiceImpl extends ServiceImpl<StatusMapper, Status> implements IStatusService {
   private final String REGEXP = "^[A-Za-z]+$";
   @Resource
   private BtmTypeMapper btmTypeMapper;
   @Resource
   private LifeCycleNodeMapper lifeCycleNodeMapper;
   /**
    * 获取状态列表
    *
@@ -45,14 +53,8 @@
    * @throws VciBaseException 查询出错时会抛出异常
    */
   @Override
   public IPage<StatusVO> listStatus(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException {
      Query query = new Query();
      query.setCurrent(pageHelper.getPage());
      query.setSize(pageHelper.getLimit());
      query.setAscs("id");
      Status queryVO = new Status();
      BeanMap.create(queryVO).putAll(conditionMap);
      return StatusWrapper.build().pageVO(baseMapper.selectPage(Condition.getPage(query), Condition.getQueryWrapper(queryVO).lambda().orderByAsc(Status::getId)));
   public IPage<StatusVO> listStatus(Map<String, Object> conditionMap, Query pageHelper) throws VciBaseException {
      return StatusWrapper.build().pageVO(baseMapper.selectPage(Condition.getPage(pageHelper), Condition.getQueryWrapper(conditionMap,Status.class).lambda().orderByAsc(Status::getId)));
   }
   /**
@@ -202,7 +204,10 @@
      Collection<Collection<String>> idCollections = VciBaseUtil.switchCollectionForOracleIn(idCollection);
      if(!CollectionUtils.isEmpty(idCollections)) {
         idCollections.forEach(s -> {
            List<Status> queryResult = baseMapper.selectList(Wrappers.<Status>query().lambda().in(Status::getId,s));
            QueryWrapper<Status> wrapper = new QueryWrapper<>();
            wrapper.in("id",s);
            List<Status> queryResult = baseMapper.selectList(wrapper);
            if(!CollectionUtils.isEmpty(queryResult)){
               statusDOList.addAll(queryResult);
            }
@@ -273,7 +278,6 @@
      Set<String> idSet = new HashSet<>();
      String creator = AuthUtil.getUserAccount();
      Date now = new Date();
      String btmName = "status";
      Pattern pattern = Pattern.compile(REGEXP);
      statusVOList.forEach(s -> {
         if (!pattern.matcher(s.getId()).matches()){
@@ -288,7 +292,7 @@
         if(StringUtils.isBlank(s.getOid())){
            s.setOid(VciBaseUtil.getPk());
         }
         s.setBtmName(btmName);
         s.setBtmName(BtmTypeConstant.STATUS);
         s.setOwner(creator);
         s.setCreator(creator);
         s.setCreateTime(now);
@@ -456,4 +460,21 @@
   public boolean checkStatusUsed(String pkStatus) throws VciBaseException {
      return false;
   }
   /**
    * 查看应用范围
    *
    * @param id id
    * @return 执行结果
    */
   @Override
   public List<BtmTypeVO> getApplyRange(String id) {
      VciBaseUtil.alertNotNull(id,"状态英文名称");
      List<LifeCycleNode> selectList = lifeCycleNodeMapper.selectList(Wrappers.<LifeCycleNode>query().lambda().eq(LifeCycleNode::getId,id));
      List<String>lifeCycleOidList =   new ArrayList<>();
      if(!CollectionUtils.isEmpty(selectList)){
         lifeCycleOidList = selectList.stream().map(LifeCycleNode::getLifeCycleOid).collect(Collectors.toList());
      }
      return BtmTypeWrapper.build().listEntityVO(btmTypeMapper.selectList(Wrappers.<BtmType>query().lambda().in(BtmType::getOid,lifeCycleOidList)));
   }
}