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