Przeglądaj źródła

数据过滤bug修复,切当前层级的部门查出所有的上级

wy 2 lat temu
rodzic
commit
762c75c704

+ 2 - 0
ibps-common-root/modules/org-biz/src/main/java/com/lc/ibps/org/party/repository/PartyEntityRepository.java

@@ -339,4 +339,6 @@ public interface PartyEntityRepository extends IRepository<String, PartyEntityPo
 	 * @return
 	 */
 	public  List<PartyEntityPo> findPositionId(List<String> id);
+
+	public  List<PartyEntityPo> findId(List<String> id);
 }

+ 28 - 0
ibps-common-root/modules/org-biz/src/main/java/com/lc/ibps/org/party/repository/impl/PartyEntityRepositoryImpl.java

@@ -1,6 +1,7 @@
 package com.lc.ibps.org.party.repository.impl;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
@@ -776,4 +777,31 @@ public class PartyEntityRepositoryImpl extends AbstractRepository<String, PartyE
 		return byKey;
 		//return getByIdPartyType(id,"position");
 	}
+
+	@Override
+	public List<PartyEntityPo> findId(List<String> id) {
+		HashMap<String, Object> map = new HashMap<>();
+		map.put("str",id);
+		List<PartyEntityPo> entityPos = new ArrayList<>();
+		List<PartyEntityPo> byKey = partyEntityQueryDao.findByKey("findId",map);
+		HashMap<String, Object> mapSj = new HashMap<>();
+		List<String> objects = new ArrayList<>();
+		for(int i=0;i<byKey.size();i++){
+			String path = byKey.get(i).getPath();
+			String all = path.replace(".", "-");
+			String[] split = all.split("-");
+
+			List<String> stringList = Arrays.asList(split);
+
+			objects.addAll(stringList);
+		}
+		//去重
+		objects.stream().distinct().collect(Collectors.toList());
+		 mapSj.put("str", objects);
+		List<PartyEntityPo> sunPo = partyEntityQueryDao.findByKey("findId",mapSj);
+		entityPos.addAll(sunPo);
+		return entityPos;
+		//return getByIdPartyType(id,"position");
+	}
+
 }

+ 1 - 1
ibps-component-root/modules/comp-querybuilder/src/main/java/com/lc/ibps/components/querybuilder/support/parser/sql/FindInSetRuleParser.java

@@ -15,7 +15,7 @@ public class FindInSetRuleParser extends AbstractSqlRuleParser {
 
     public Operation parse(IRule rule, JsonRuleParser parser) {
         StringBuffer operate = new StringBuffer();
-        if (rule.getValue()=="cscript.findPositionId()"){
+        if (rule.getValue()!="cscript.findPositionId()"){
         List listUser = (List) rule.getValue();
         if(listUser.size()==1){
             operate.append("("+rule.getField() + " like '%" + listUser.get(0) +"%')");

+ 14 - 1
ibps-excessive-root/modules/platform-excessive/src/main/java/com/lc/ibps/platform/script/script/CommonScript.java

@@ -7,6 +7,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
+import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
@@ -867,8 +868,18 @@ public class CommonScript extends BaseScript {
 	 */
 	public List<String> findPositionId() {
 		List<String> result = new ArrayList<String>();
+		//或取当前的岗位
 		List<String> ids = findCurrentUserPositionIds(false);
-		List<PartyEntityPo> list = PartyUtil.findPositionId(ids);
+		//依据当前的岗位查到entity表中所有的下级
+		List<PartyEntityPo> list = PartyUtil.findPositionId(ids); //当前岗位下的所有下级
+		//依据当前的岗位查到entity表中id=当前的岗位的一条数据
+		//再切除这条数据的最后一个
+		//将前面的所有id都查出来
+		//查出当前岗位的所有上级
+		List<PartyEntityPo> po = PartyUtil.findId(ids);
+		for (PartyEntityPo partyEntitypo : po) {
+			result.add(partyEntitypo.getId());
+		}
 		if (BeanUtils.isEmpty(list)) {
 			result.add("0"); // 标识不存在数据
 			return result;
@@ -876,6 +887,8 @@ public class CommonScript extends BaseScript {
 		for (PartyEntityPo partyEntitypo : list) {
 			result.add(partyEntitypo.getId());
 		}
+		//去除重复元素
+		result.stream().distinct().collect(Collectors.toList());
 		return result;
 	}
 

+ 5 - 1
ibps-excessive-root/modules/platform-excessive/src/main/java/com/lc/ibps/platform/script/utils/PartyUtil.java

@@ -61,7 +61,11 @@ public class PartyUtil {
 		return entityPo;
 	}
 
-
+	public static  List<PartyEntityPo>  findId(List<String> ids){
+		//String join = String.join(",", ids);
+		List<PartyEntityPo>  entityPo = partyEntityService.findId(ids);
+		return entityPo;
+	}
 
 
 	/**

+ 11 - 0
ibps-model-root/modules/org-model/src/main/resources/com/lc/ibps/org/party/persistence/mapping/PartyEntity.map.xml

@@ -31,6 +31,17 @@
 			</foreach>
 		</if>
 	</select>
+
+	<select id="findId" resultMap="PartyEntity">
+		select <include refid="columns"/> from IBPS_PARTY_ENTITY
+		<if test='str != null and str != "" '>
+			where
+			<foreach collection="str" item="item" index="index" separator="OR">
+				ID_ = #{item}
+			</foreach>
+		</if>
+	</select>
+
 	<insert id="create" parameterType="com.lc.ibps.org.party.persistence.entity.PartyEntityPo">
 		INSERT INTO IBPS_PARTY_ENTITY
 		(<include refid="columns"/>)

+ 3 - 0
ibps-provider-base-root/modules/provider-platform-api/src/main/java/com/lc/ibps/org/api/IPartyEntityService.java

@@ -72,6 +72,9 @@ public interface IPartyEntityService {
 	public List<PartyEntityPo> findPositionId(
 			@RequestBody(required = true)@Valid List<String> id);
 
+	@RequestMapping(value = "/findId", method = RequestMethod.POST)
+	public List<PartyEntityPo> findId(
+			@RequestBody(required = true)@Valid List<String> id);
 
 	/**
 	 * 

+ 6 - 0
ibps-provider-root/modules/provider-platform-default/src/main/java/com/lc/ibps/org/provider/PartyEntityProvider.java

@@ -490,6 +490,12 @@ public class PartyEntityProvider extends GenericProvider implements IPartyEntity
 		return pos;
 	}
 
+	@Override
+	public List<PartyEntityPo> findId(List<String> id) {
+		List<PartyEntityPo> pos = partyEntityRepository.findId(id);
+		return pos;
+	}
+
 	@ApiOperation(value = "保存参与者扩展属性", notes = "保存参与者扩展属性",
 			extensions = {
 					@Extension(properties = {