Joburgess 5 年之前
父节点
当前提交
a6a82b7317

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

@@ -53,6 +53,22 @@ public class ExamOrganizationRelationController extends BaseController {
         return succeed(examOrganizationRelationService.queryExamOrgans(queryInfo));
     }
 
+    @ApiOperation("获取子合作单位")
+    @GetMapping(value = "/getChildOrgans")
+    public HttpResponseResult<List<ExamOrganizationRelationExtraDto>> getChildOrgans(Long examId) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(Objects.isNull(sysUser)){
+            return failed("请重新登录");
+        }
+        Integer organId=null;
+        Employee employee = employeeService.get(sysUser.getId());
+        if(Objects.nonNull(employee)){
+            organId=employee.getOrganId();
+        }
+
+        return succeed(examOrganizationRelationService.getChildOrgans(examId,organId));
+    }
+
     @ApiOperation("添加合作单位")
     @PostMapping(value = "/addExamOrganizations")
     public HttpResponseResult addExamOrganizations(@RequestBody List<ExamOrganizationRelation> organizationRelations){

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

@@ -78,9 +78,9 @@ public class OrganizationController extends BaseController {
 	@ApiOperation(value = "获取当前分部及其所有子合作单位")
 	@GetMapping(value = "getChildOrgans")
 	@PreAuthorize("@pcs.hasPermissions('organization/getChildOrgans')")
-	public HttpResponseResult<List<Organization>> getChildOrgans(){
+	public HttpResponseResult<List<Organization>> getChildOrgans(Integer includeSelf){
 		SysUser sysUser = sysUserFeignService.queryUserInfo();
 		Organization organization = organizationService.findByUserId(sysUser.getId());
-		return succeed(organizationService.getChildOrgans(organization.getId()));
+		return succeed(organizationService.getChildOrgans(organization.getId(), includeSelf==1));
 	}
 }

+ 2 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamOrganizationRelationDao.java

@@ -17,6 +17,8 @@ public interface ExamOrganizationRelationDao extends BaseDAO<Long, ExamOrganizat
     List<ExamOrganizationRelationExtraDto> queryExamOrgans(Map<String, Object> params);
     int countExamOrgans(Map<String, Object> params);
 
+    List<ExamOrganizationRelationExtraDto> getExamChildOrgans(@Param("examId") Long examId, @Param("organIds") List<Integer> organIds);
+
     /**
      * @param examOrganizationRelations:
      * @return int

+ 2 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/ExamOrganizationRelationService.java

@@ -22,6 +22,8 @@ public interface ExamOrganizationRelationService extends BaseService<Long, ExamO
      */
     PageInfo<ExamOrganizationRelationExtraDto> queryExamOrgans(ExamOrganizationRelationQueryInfo queryInfo);
 
+    List<ExamOrganizationRelationExtraDto> getChildOrgans(Long examId,Integer organId);
+
     /**
      * @describe 添加单位
      * @author Joburgess

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

@@ -37,7 +37,7 @@ public interface OrganizationService extends BaseService<Integer, Organization>
      * @param organId:
      * @return java.util.List<com.keao.edu.user.entity.Organization>
      */
-    List<Organization> getChildOrgans(Integer organId);
+    List<Organization> getChildOrgans(Integer organId, boolean includeSelf);
 
     /**
      * @describe 获取下一级所有合作单位编号

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

@@ -93,14 +93,7 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 			params.put("offset", pageInfo.getOffset());
 			dataList = examOrganizationRelationDao.queryExamOrgans(params);
 			List<Integer> organIds = dataList.stream().map(ExamOrganizationRelation::getOrganId).collect(Collectors.toList());
-//			List<ExamOrganizationRelation> countInfos = examOrganizationRelationDao.countExamOrganStudentAndPayment(queryInfo.getExamId(), organIds);
-//			Map<Integer, ExamOrganizationRelation> organCountInfoMap = countInfos.stream().collect(Collectors.toMap(ExamOrganizationRelation::getOrganId, e -> e));
 			for (ExamOrganizationRelationExtraDto examOrganizationRelation : dataList) {
-//				ExamOrganizationRelation countInfo = organCountInfoMap.get(examOrganizationRelation.getOrganId());
-//				if(Objects.nonNull(countInfo)){
-//					examOrganizationRelation.setTotalRegistrationStudentNum(countInfo.getTotalRegistrationStudentNum());
-//					examOrganizationRelation.setTotalPaymentAmount(countInfo.getTotalPaymentAmount());
-//				}
 				if(examOrganizationRelation.getOrganId().equals(queryInfo.getOrganId())){
 					examOrganizationRelation.setSelfOrgan(1);
 				}
@@ -111,6 +104,12 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 	}
 
 	@Override
+	public List<ExamOrganizationRelationExtraDto> getChildOrgans(Long examId, Integer organId) {
+		List<Integer> childOrganIds = organizationService.getChildOrganIds(organId, false);
+		return examOrganizationRelationDao.getExamChildOrgans(examId,childOrganIds);
+	}
+
+	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void addExamOrganizations(Long examId, String orgainIdsStr) {
 		if(Objects.isNull(examId)){
@@ -204,13 +203,6 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 			throw new BizException("合作单位信息错误");
 		}
 
-		SysConfig baseUrlConfig = sysConfigService.findByParamName(SysConfigService.BASE_API_URL);
-		String baseUrl="";
-		if(Objects.nonNull(baseUrlConfig)){
-			baseUrl=baseUrlConfig.getParanValue();
-		}
-		baseUrl = baseUrl+"/#/signUp?";
-
 		Map<Integer, Organization> idOrganMap = organs.stream().collect(Collectors.toMap(Organization::getId, o -> o));
 		for (ExamOrganizationRelation og : organizationRelations) {
 			if(organIdsWithExam.contains(og.getOrganId())){
@@ -239,9 +231,6 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 			og.setTotalTransAmount(BigDecimal.ZERO);
 			og.setSelfRegistrationStudentNum(BigDecimal.ZERO.intValue());
 			og.setSelfPaymentAmount(BigDecimal.ZERO);
-			String registrationUrl = baseUrl + "examId=" + examinationBasic.getId() + "&organId=" + og.getOrganId();
-			String registShortUrl = shortUrlService.createShortUrl(registrationUrl);
-			og.setUrl(registShortUrl);
 		}
 		examOrganizationRelationDao.batchInsert(organizationRelations);
 	}
@@ -314,15 +303,26 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 			throw new BizException("考级信息错误");
 		}
 
+		SysConfig baseUrlConfig = sysConfigService.findByParamName(SysConfigService.BASE_API_URL);
+		String baseUrl="";
+		if(Objects.nonNull(baseUrlConfig)){
+			baseUrl=baseUrlConfig.getParanValue();
+		}
+		baseUrl = baseUrl+"/#/signUp?";
+
 		List<ExamOrganizationRelation> needUpdate=new ArrayList<>();
 		for (ExamOrganizationRelation examOrgan : examOrgans) {
 			if(YesOrNoEnum.YES.equals(examOrgan.getSendUrlFlag())){
 				continue;
 			}
-			needUpdate.add(examOrgan);
 
+			String registrationUrl = baseUrl + "examId=" + examinationBasic.getId() + "&organId=" + examOrgan.getOrganId();
+			String registShortUrl = shortUrlService.createShortUrl(registrationUrl);
+			examOrgan.setUrl(registShortUrl);
 			examOrgan.setSendUrlFlag(1);
 
+			needUpdate.add(examOrgan);
+
 			SysUser organUser = sysUserDao.getWithOrgan(examOrgan.getOrganId());
 			Map<Integer, String> userPhoneMap = new HashMap<>();
 			userPhoneMap.put(examOrgan.getOrganId(), organUser.getPhone());

+ 4 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/OrganizationServiceImpl.java

@@ -221,7 +221,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 	}
 
 	@Override
-	public List<Organization> getChildOrgans(Integer organId) {
+	public List<Organization> getChildOrgans(Integer organId, boolean includeSelf) {
 		Organization organization = organDao.get(organId);
 		if(Objects.isNull(organization)){
 			throw new BizException("合作单位不存在");
@@ -230,6 +230,9 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 		if(null == selfAndChildOrgans){
 			selfAndChildOrgans= Collections.EMPTY_LIST;
 		}
+		if(includeSelf){
+			selfAndChildOrgans.add(organization);
+		}
 		return selfAndChildOrgans;
 	}
 

+ 14 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamOrganizationRelationMapper.xml

@@ -355,4 +355,18 @@
 		</foreach>
 	</select>
 
+	<select id="getExamChildOrgans" resultMap="ExamOrganizationRelationExtraDto">
+		SELECT
+			ear.*,
+			a.name_ organ_name_
+		FROM exam_organization_relation ear
+		LEFT JOIN organization a ON ear.organ_id_=a.id_
+		WHERE
+		ear.examination_basic_id_=#{examId}
+		AND ear.organ_id_ IN
+		<foreach collection="organIds" item="organId" separator="," open="(" close=")">
+			#{organId}
+		</foreach>
+	</select>
+
 </mapper>

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

@@ -221,6 +221,9 @@
 			<if test="organId != null">
 				AND er.organ_id_ = #{organId}
 			</if>
+			<if test="organizationId != null">
+				AND er.organ_id_ = #{organizationId}
+			</if>
 			<if test="subjectId!=null">
 				AND er.subject_id_ = #{subjectId}
 			</if>

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

@@ -140,11 +140,12 @@
 	</select>
 
 	<select id="getChildOrganIds" resultType="int">
-		SELECT id_ FROM organization WHERE parent_organ_id_tag_ LIKE CONCAT('%', #{parentOrganIdTag}, '%');
+		SELECT id_ FROM organization WHERE parent_organ_id_tag_ LIKE CONCAT(#{parentOrganIdTag}, '%');
 	</select>
 
 	<select id="getChildOrgans" resultMap="Organization">
-		SELECT <include refid="organizationColumn"/> FROM organization o WHERE parent_organ_id_tag_ LIKE CONCAT('%', #{parentOrganIdTag}, '%');
+		SELECT <include refid="organizationColumn"/> FROM organization o
+		WHERE parent_organ_id_tag_ LIKE CONCAT(#{parentOrganIdTag}, '%') AND parent_organ_id_tag_!=#{parentOrganIdTag};
 	</select>
 
 	<select id="getNextLevelOrganIds" resultType="int">