Browse Source

Merge remote-tracking branch 'origin/master'

周箭河 5 years ago
parent
commit
fe13c23d77

+ 3 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamOrganizationRelationController.java

@@ -1,5 +1,6 @@
 package com.keao.edu.user.controller;
 
+import com.keao.edu.auth.api.client.SysUserFeignService;
 import com.keao.edu.common.controller.BaseController;
 import com.keao.edu.common.entity.HttpResponseResult;
 import com.keao.edu.common.page.PageInfo;
@@ -22,6 +23,8 @@ public class ExamOrganizationRelationController extends BaseController {
 
     @Autowired
     private ExamOrganizationRelationService examOrganizationRelationService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
 
     @ApiOperation("分页查询")
     @GetMapping(value = "/list")

+ 6 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/OrganizationController.java

@@ -1,6 +1,8 @@
 package com.keao.edu.user.controller;
 
 
+import com.keao.edu.auth.api.client.SysUserFeignService;
+import com.keao.edu.auth.api.entity.SysUser;
 import com.keao.edu.common.controller.BaseController;
 import com.keao.edu.common.entity.HttpResponseResult;
 import com.keao.edu.common.page.PageInfo;
@@ -23,11 +25,15 @@ public class OrganizationController extends BaseController {
 
 	@Autowired
 	private OrganizationService organizationService;
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
 
 	@ApiOperation(value = "合作单位列表")
 	@GetMapping(value = "list")
     @PreAuthorize("@pcs.hasPermissions('organization/list')")
 	public HttpResponseResult<PageInfo<Organization>> configList(OrganizationQueryInfo queryInfo) {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		queryInfo.setParentId(sysUser.getId());
 		return succeed(organizationService.queryPage(queryInfo));
 	}
 

+ 10 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/OrganizationDao.java

@@ -25,6 +25,15 @@ public interface OrganizationDao extends BaseDAO<Integer, Organization> {
      * @param parentOrganIdTag:
      * @return java.util.List<java.lang.Integer>
      */
-    List<Integer> getSelfAndChildOrganIds(@Param("parentOrganIdTag") String parentOrganIdTag);
+    List<Integer> getChildOrganIds(@Param("parentOrganIdTag") String parentOrganIdTag);
+
+    /**
+     * @describe 获取下一级所有合作单位编号
+     * @author Joburgess
+     * @date 2020.06.28
+     * @param organId: 当前合作单位
+     * @return java.util.List<java.lang.Integer>
+     */
+    List<Integer> getNextLevelOrganIds(@Param("organId") Integer organId);
 
 }

+ 11 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/ExamOrganizationRelationQueryInfo.java

@@ -12,12 +12,23 @@ import javax.management.Query;
  */
 public class ExamOrganizationRelationQueryInfo extends QueryInfo {
 
+    @ApiModelProperty(value = "合作单位编号")
+    private Integer organId;
+
     @ApiModelProperty(value = "考试项目编号")
     private Integer examId;
 
     @ApiModelProperty(value = "分润结算方式")
     private SettlementTypeEnum settlementType;
 
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
     public Integer getExamId() {
         return examId;
     }

+ 10 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/page/OrganizationQueryInfo.java

@@ -6,6 +6,16 @@ public class OrganizationQueryInfo extends QueryInfo {
 
     private String settlementType;
 
+    private Integer parentId;
+
+    public Integer getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Integer parentId) {
+        this.parentId = parentId;
+    }
+
     public String getSettlementType() {
         return settlementType;
     }

+ 14 - 3
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/OrganizationService.java

@@ -22,11 +22,22 @@ public interface OrganizationService extends BaseService<Integer, Organization>
     void updateOrganization(Organization organization);
 
     /**
-     * @describe 获取当前分部及其所有子分部编号
+     * @describe 获取当前分部及其所有子合作单位编号
      * @author Joburgess
      * @date 2020.06.28
-     * @param organId:
+     * @param organId: 本单位编号
+     * @param includeSelf: 是否包含本单位
      * @return java.util.List<java.lang.Integer>
      */
-    List<Integer> getSelfAndChildOrganIds(Integer organId);
+    List<Integer> getChildOrganIds(Integer organId, boolean includeSelf);
+
+    /**
+     * @describe 获取下一级所有合作单位编号
+     * @author Joburgess
+     * @date 2020.06.28
+     * @param organId: 当前合作单位编号
+     * @param includeSelf: 是否包含当前合作单位
+     * @return java.util.List<java.lang.Integer>
+     */
+    List<Integer> getNextLevelOrganIds(Integer organId, boolean includeSelf);
 }

+ 10 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamOrganizationRelationServiceImpl.java

@@ -2,6 +2,8 @@ package com.keao.edu.user.service.impl;
 
 import com.keao.edu.common.dal.BaseDAO;
 import com.keao.edu.common.exception.BizException;
+import com.keao.edu.common.page.PageInfo;
+import com.keao.edu.common.page.QueryInfo;
 import com.keao.edu.common.service.impl.BaseServiceImpl;
 import com.keao.edu.common.tenant.TenantContextHolder;
 import com.keao.edu.user.dao.ExamOrganizationRelationDao;
@@ -11,6 +13,7 @@ import com.keao.edu.user.entity.ExaminationBasic;
 import com.keao.edu.user.enums.ExamStatusEnum;
 import com.keao.edu.user.enums.YesOrNoEnum;
 import com.keao.edu.user.service.ExamOrganizationRelationService;
+import com.keao.edu.user.service.OrganizationService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -29,6 +32,8 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 	private ExamOrganizationRelationDao examOrganizationRelationDao;
 	@Autowired
 	private ExaminationBasicDao examinationBasicDao;
+	@Autowired
+	private OrganizationService organizationService;
 
 	@Override
 	public BaseDAO<Long, ExamOrganizationRelation> getDAO() {
@@ -36,6 +41,11 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 	}
 
 	@Override
+	public PageInfo<ExamOrganizationRelation> queryPage(QueryInfo queryInfo) {
+		return super.queryPage(queryInfo);
+	}
+
+	@Override
 	@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
 	public void updateExamOrganizationRelation(ExamOrganizationRelation examOrganizationRelation) {
 		if(Objects.isNull(examOrganizationRelation.getExaminationBasicId())){

+ 33 - 8
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/OrganizationServiceImpl.java

@@ -59,6 +59,12 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 		sysUser.setTenantId(tenantId);
 		SysUser user = sysUserDao.queryByPhone(sysUser.getPhone());
 		organ.setParentOrganId(queryUserInfo.getId());
+		organ.setLevel(currentOrganization.getLevel() + 1);
+		if(StringUtils.isEmpty(currentOrganization.getParentOrganIdTag())){
+			organ.setParentOrganIdTag(queryUserInfo.getId().toString());
+		}else {
+			organ.setParentOrganIdTag(currentOrganization.getParentOrganIdTag() + "," + queryUserInfo.getId());
+		}
 		if(user != null && user.getId() != null){
 			Organization organization = organDao.get(user.getId());
 			if(organization == null){
@@ -68,7 +74,9 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 				organ.setId(user.getId());
 				organDao.insert(organ);
 				//新增用户角色
-				sysUserDao.batchAddEmployeeRole(user.getId(),sysUser.getRoles());
+				if(sysUser.getRoles() != null && sysUser.getRoles().size() > 0){
+					sysUserDao.batchAddEmployeeRole(user.getId(),sysUser.getRoles());
+				}
 				user.setUserType(user.getUserType() + ",ORGAN");
 				user.setRealName(organ.getName());
 				user.setPhone(organ.getContactPhone());
@@ -87,11 +95,6 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 		sysUser.setPhone(organ.getContactPhone());
 		sysUserDao.insert(sysUser);
 
-		if(StringUtils.isEmpty(currentOrganization.getParentOrganIdTag())){
-			organ.setParentOrganIdTag(queryUserInfo.getId().toString());
-		}else {
-			organ.setParentOrganIdTag(currentOrganization.getParentOrganIdTag() + "," + queryUserInfo.getId());
-		}
 		organ.setId(sysUser.getId());
 		organDao.insert(organ);
 		//新增用户角色
@@ -130,15 +133,37 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 	}
 
 	@Override
-	public List<Integer> getSelfAndChildOrganIds(Integer organId) {
+	public List<Integer> getChildOrganIds(Integer organId, boolean includeSelf) {
 		Organization organization = organDao.get(organId);
 		if(Objects.isNull(organization)){
 			throw new BizException("当前声部不存在");
 		}
-		List<Integer> selfAndChildOrganIds = organDao.getSelfAndChildOrganIds(organization.getLevel()<=0?organization.getId().toString():organization.getParentOrganIdTag());
+		StringBuffer parentOrganIdTag= new StringBuffer(Objects.isNull(organization.getParentOrganIdTag())?"":organization.getParentOrganIdTag());
+		parentOrganIdTag.append(",");
+		parentOrganIdTag.append(organization.getId());
+		List<Integer> selfAndChildOrganIds = organDao.getChildOrganIds(parentOrganIdTag.toString());
 		if(null == selfAndChildOrganIds){
 			selfAndChildOrganIds= Collections.EMPTY_LIST;
 		}
+		if(includeSelf){
+			selfAndChildOrganIds.add(organization.getId());
+		}
 		return selfAndChildOrganIds;
 	}
+
+	@Override
+	public List<Integer> getNextLevelOrganIds(Integer organId, boolean includeSelf) {
+		Organization organization = organDao.get(organId);
+		if(Objects.isNull(organization)){
+			throw new BizException("当前声部不存在");
+		}
+		List<Integer> selfAndChildOrganIds = organDao.getNextLevelOrganIds(organization.getId());
+		if(null == selfAndChildOrganIds){
+			selfAndChildOrganIds= Collections.EMPTY_LIST;
+		}
+		if(includeSelf){
+			selfAndChildOrganIds.add(organization.getId());
+		}
+		return null;
+	}
 }

+ 3 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/OrganizationMapper.xml

@@ -120,4 +120,7 @@
 	<select id="getSelfAndChildOrganIds" resultType="int">
 		SELECT id_ FROM organization WHERE parent_organ_id_tag_ LIKE CONCAT(#{parentOrganIdTag}, '%');
 	</select>
+	<select id="getNextLevelOrganIds" resultType="int">
+		SELECT id_ FROM organization WHERE parent_organ_id_ =#{organId};
+	</select>
 </mapper>