Joburgess 5 سال پیش
والد
کامیت
b9bc452ee2

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

@@ -38,6 +38,18 @@ public interface ExamOrganizationRelationDao extends BaseDAO<Long, ExamOrganizat
     int batchUpdate(@Param("examOrganizationRelations") List<ExamOrganizationRelation> examOrganizationRelations);
 
     /**
+     * @describe 更新考级项目下指定合作单位的可排考状态
+     * @author Joburgess
+     * @date 2020.07.17
+     * @param examId:
+     * @param organIds:
+     * @return int
+     */
+    int updateOrganAllowArrangeExamStatus(@Param("examId") Long examId,
+                                          @Param("isAllowArrangeExam") Integer isAllowArrangeExam,
+                                          @Param("organIds") List<Integer> organIds);
+
+    /**
      * @param examId:      考级项目编号
      * @param organIds:    合作单位编号列表
      * @param sendUrlFlag: 链接发送状态

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

@@ -252,6 +252,10 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 		if(selfOrgan.getIsAllowArrangeExam()==0&&examOrganizationRelation.getIsAllowArrangeExam()==1){
 			throw new BizException("暂无权限");
 		}
+		if(Objects.nonNull(examOrganizationRelation.getIsAllowArrangeExam())&&examOrganizationRelation.getIsAllowArrangeExam()==0){
+			List<Integer> childOrganIds = organizationService.getChildOrganIds(organizationRelation.getOrganId(), false);
+			examOrganizationRelationDao.updateOrganAllowArrangeExamStatus(organizationRelation.getExaminationBasicId().longValue(), 0, childOrganIds);
+		}
 		examOrganizationRelationDao.update(examOrganizationRelation);
 	}
 
@@ -358,6 +362,10 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 			examOrganStatistics=new ExamOrganStatisticsDto();
 		}
 
+		if(Objects.isNull(examOrganStatistics.getSettlementType())){
+			examOrganStatistics.setIsAllowArrangeExam(1);
+		}
+
 		examOrganStatistics.setExamLifecycleLogs(examLifecycleLogDao.findWithExam(examId));
 
 		Map<String, BigDecimal> dayTransAmount=new LinkedHashMap<>();

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

@@ -182,6 +182,15 @@
 		</if>
 	</update>
 
+	<update id="updateOrganAllowArrangeExamStatus">
+		UPDATE exam_organization_relation SET is_allow_arrange_exam_=#{isAllowArrangeExam}
+		WHERE examination_basic_id_=#{examId}
+		AND organ_id_ IN
+		<foreach collection="organIds" item="organId" separator="," open="(" close=")">
+			#{organId}
+		</foreach>
+	</update>
+
 	<!-- 根据主键删除一条记录 -->
 	<delete id="delete" >
 		DELETE FROM exam_organization_relation WHERE id_ = #{id}