Joburgess 5 gadi atpakaļ
vecāks
revīzija
9692b7d865

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

@@ -93,7 +93,7 @@ public class ExamOrganizationRelationController extends BaseController {
     @ApiOperation("删除")
     @PostMapping(value = "/del")
     public HttpResponseResult del(Long id){
-        examOrganizationRelationService.delete(id);
+        examOrganizationRelationService.deleteExamOrgan(id);
         return succeed();
     }
 

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

@@ -110,6 +110,8 @@ public interface ExamOrganizationRelationDao extends BaseDAO<Long, ExamOrganizat
      */
     ExamOrganStatisticsDto getExamOrganizationRelation(@Param("examId") Long examId, @Param("OrganId") Integer OrganId);
 
+    int deleteExamOrgans(@Param("examId") Long examId, @Param("organIds") List<Integer> organIds);
+
     /**
      * 获取考级项目关联合作单位信息
      * @param examId

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

@@ -42,6 +42,8 @@ public interface ExamOrganizationRelationService extends BaseService<Long, ExamO
      */
     void addExamOrganizations(List<ExamOrganizationRelation> organizationRelations, Integer selfOrganId);
 
+    void deleteExamOrgan(Long id);
+
     /**
      * @describe 更新考级项目与合作单位关联信息
      * @author Joburgess

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

@@ -1,5 +1,6 @@
 package com.keao.edu.user.service.impl;
 
+import cfca.sadk.org.bouncycastle.apache.bzip2.BZip2Constants;
 import com.keao.edu.auth.api.client.SysUserFeignService;
 import com.keao.edu.auth.api.entity.SysUser;
 import com.keao.edu.common.dal.BaseDAO;
@@ -267,6 +268,25 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
+	public void deleteExamOrgan(Long id) {
+		if(Objects.isNull(id)){
+			throw new BizException("参数错误");
+		}
+		ExamOrganizationRelation organizationRelation = examOrganizationRelationDao.get(id);
+		if(Objects.isNull(organizationRelation)){
+			throw new BizException("删除失败");
+		}
+		List<Integer> childOrganIds = organizationService.getChildOrganIds(organizationRelation.getOrganId(), true);
+		List<ExamOrganizationRelation> examOrganizationRelations = examOrganizationRelationDao.getExamOrganizationRelations(organizationRelation.getExaminationBasicId().longValue(), childOrganIds);
+		long count = examOrganizationRelations.stream().filter(e -> e.getSendUrlFlag() == 1).count();
+		if(count>0){
+			throw new BizException("删除失败");
+		}
+		examOrganizationRelationDao.deleteExamOrgans(organizationRelation.getExaminationBasicId().longValue(), childOrganIds);
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public void sendUrl(Integer examId) {
 		if(Objects.isNull(examId)){
 			throw new BizException("请指定考级项目");

+ 9 - 1
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamOrganizationRelationMapper.xml

@@ -187,7 +187,15 @@
 		DELETE FROM exam_organization_relation WHERE id_ = #{id} 
 	</delete>
 
-	<sql id="queryCondition">
+    <delete id="deleteExamOrgans">
+		DELETE FROM exam_organization_relation
+		WHERE examination_basic_id_=#{examId} AND organ_id_ IN
+		<foreach collection="organIds" item="organId" separator="," open="(" close=")">
+			#{organId}
+		</foreach>
+	</delete>
+
+    <sql id="queryCondition">
 		<where>
 			ear.examination_basic_id_=#{examId}
 			<if test="organIds!=null">