From df18b23b4569828d6be32fb64c80492241e1fc46 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期一, 16 十月 2023 20:31:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java | 72 +++++++++++++++++++++++++++-------- 1 files changed, 55 insertions(+), 17 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java index 460ec37..44f6615 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java @@ -1,18 +1,23 @@ 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 io.undertow.servlet.core.Lifecycle; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.secure.utils.AuthUtil; @@ -21,6 +26,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 +41,12 @@ public class StatusServiceImpl extends ServiceImpl<StatusMapper, Status> implements IStatusService { private final String REGEXP = "^[A-Za-z]+$"; - + @Resource + private BtmTypeMapper btmTypeMapper; + @Resource + private LifeCycleNodeMapper lifeCycleNodeMapper; + @Resource + private LifeCycleMapper lifeCycleMapper; /** * 鑾峰彇鐘舵�佸垪琛� * @@ -45,14 +56,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 +207,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 +281,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 +295,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); @@ -409,9 +416,10 @@ throw new VciBaseException("瑕佸垹闄ょ殑鐘舵�佸璞′笉鑳戒负绌�"); } Set<String> oidSet= new HashSet<>(); + Set<String> idSet= new HashSet<>(); statusVOList.stream().forEach( s -> { VciBaseUtil.alertNotNull(s.getOid(),"瑕佸垹闄ょ殑鐘舵�佸璞$殑涓婚敭"); - oidSet.add(s.getOid()); + idSet.add(s.getId()); }); //鏌ヨ List<Status> statusDOList = listStatusByOidCollectionDO(oidSet); @@ -425,7 +433,7 @@ } }); //妫�鏌ュ睘鎬ф槸鍚﹁寮曠敤 - if(checkStatusUseds(oidSet)){ + if(checkStatusUseds(idSet)){ throw new VciBaseException("瑕佸垹闄ょ殑鐘舵�佸湪鐢熷懡鍛ㄦ湡瀵硅薄涓浣跨敤锛屾棤娉曞垹闄�"); } Collection<Collection<String>> oidCollections = VciBaseUtil.switchCollectionForOracleIn(oidInDbSet); @@ -442,6 +450,10 @@ */ @Override public boolean checkStatusUseds(Collection<String> oidCollection) { + Long count = lifeCycleNodeMapper.selectCount(Wrappers.<LifeCycleNode>query().lambda().in(LifeCycleNode::getId,oidCollection)); + if(count>0){ + return true; + } return false; } @@ -454,6 +466,32 @@ */ @Override public boolean checkStatusUsed(String pkStatus) throws VciBaseException { + return false; } + + /** + * 鏌ョ湅搴旂敤鑼冨洿 + * + * @param id id + * @return 鎵ц缁撴灉 + */ + @Override + public List<BtmTypeVO> getApplyRange(String id) { + List<BtmTypeVO> btmTypeVOS=new ArrayList<>(); + 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()); + List<LifeCycleRule>LifeCycleRuleList = lifeCycleMapper.selectList(Wrappers.<LifeCycleRule>query().lambda().in(LifeCycleRule::getOid,lifeCycleOidList)); + List<String>lifeCycleRuleIdList = new ArrayList<>(); + if(!CollectionUtils.isEmpty(LifeCycleRuleList)) { + lifeCycleRuleIdList = LifeCycleRuleList.stream().map(LifeCycleRule::getId).collect(Collectors.toList()); + btmTypeVOS= BtmTypeWrapper.build().listEntityVO(btmTypeMapper.selectList(Wrappers.<BtmType>query().lambda().in(BtmType::getLifeCycleId, lifeCycleRuleIdList))); + } + } + + return btmTypeVOS; + } } -- Gitblit v1.9.3