Joburgess 5 년 전
부모
커밋
c77ac35c7c

+ 11 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/entity/ExamOrganizationRelation.java

@@ -43,6 +43,9 @@ public class ExamOrganizationRelation {
 	@ApiModelProperty(value = "总交易金额")
 	private BigDecimal totalTransAmount;
 
+	@ApiModelProperty(value = "补贴")
+	private BigDecimal subsidy;
+
 	@ApiModelProperty(value = "链接地址")
 	private String url;
 
@@ -130,6 +133,14 @@ public class ExamOrganizationRelation {
 		this.organId = organId;
 	}
 
+	public BigDecimal getSubsidy() {
+		return subsidy;
+	}
+
+	public void setSubsidy(BigDecimal subsidy) {
+		this.subsidy = subsidy;
+	}
+
 	public SettlementTypeEnum getSettlementType() {
 		return settlementType;
 	}

+ 11 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/entity/ExamTeacherSalary.java

@@ -41,6 +41,9 @@ public class ExamTeacherSalary {
 	@ApiModelProperty(value = "结算费用")
 	private BigDecimal totalSettlementCost;
 
+	@ApiModelProperty(value = "补贴")
+	private BigDecimal subsidy;
+
 	private java.util.Date createTime;
 
 	private java.util.Date updateTime;
@@ -127,6 +130,14 @@ public class ExamTeacherSalary {
 		this.totalSettlementCost = totalSettlementCost;
 	}
 
+	public BigDecimal getSubsidy() {
+		return subsidy;
+	}
+
+	public void setSubsidy(BigDecimal subsidy) {
+		this.subsidy = subsidy;
+	}
+
 	public void setCreateTime(java.util.Date createTime){
 		this.createTime = createTime;
 	}

+ 2 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/ExamTeacherSalaryService.java

@@ -50,6 +50,8 @@ public interface ExamTeacherSalaryService extends BaseService<Long, ExamTeacherS
      */
     void addExamTeacherSalary(Long examId, String teacherIdsStr);
 
+    void addExamTeacherSalarys(List<ExamTeacherSalary> examTeacherSalaries);
+
     /**
      * @describe 更新
      * @author Joburgess

+ 30 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamTeacherSalaryServiceImpl.java

@@ -202,6 +202,36 @@ public class ExamTeacherSalaryServiceImpl extends BaseServiceImpl<Long, ExamTeac
 	}
 
 	@Override
+	public void addExamTeacherSalarys(List<ExamTeacherSalary> ts) {
+		if(CollectionUtils.isEmpty(ts)){
+			throw new BizException("请指定教师");
+		}
+		List<Integer> teacherIds = ts.stream().map(ExamTeacherSalary::getTeacherId).collect(Collectors.toList());
+		List<ExamTeacherSalary> withExamAndTeacher = examTeacherSalaryDao.getWithExamAndTeacher(ts.get(0).getExaminationBasicId(), teacherIds);
+		if(!CollectionUtils.isEmpty(withExamAndTeacher)){
+			List<String> teacherNames = withExamAndTeacher.stream().map(e -> e.getTeacher().getRealName()).collect(Collectors.toList());
+			throw new BizException("{}教师已存在", teacherNames);
+		}
+		List<Teacher> teachers = teacherDao.getWithTeachers(teacherIds);
+		Map<Integer, Teacher> idTeacherMap = teachers.stream().collect(Collectors.toMap(Teacher::getUserId, t -> t));
+
+		List<ExamTeacherSalary> examTeacherSalaries=new ArrayList<>();
+		for (ExamTeacherSalary t : ts) {
+			Teacher teacher = idTeacherMap.get(t.getTeacherId());
+			if(Objects.isNull(teacher)){
+				throw new BizException("教师信息异常");
+			}
+			t.setSettlementType(teacher.getSalarySettlementType());
+			t.setTotalSettlementCost(BigDecimal.ZERO);
+			t.setTotalInvigilationStudentNum(0);
+			t.setTotalInvigilationNum(0);
+			t.setTenantId(TenantContextHolder.getTenantId());
+			examTeacherSalaries.add(t);
+		}
+		examTeacherSalaryDao.batchInsert(examTeacherSalaries);
+	}
+
+	@Override
 	public void updateExamTeacherSalary(ExamTeacherSalary examTeacherSalary) {
 		if(Objects.isNull(examTeacherSalary.getId())){
 			throw new BizException("参数错误");

+ 13 - 4
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamOrganizationRelationMapper.xml

@@ -17,6 +17,7 @@
 		<result column="total_registration_student_num_" property="totalRegistrationStudentNum"/>
 		<result column="total_payment_amount_" property="totalPaymentAmount"/>
 		<result column="total_trans_amount_" property="totalTransAmount" />
+		<result column="subsidy_" property="subsidy" />
 		<result column="url_" property="url" />
 		<result column="send_url_flag_" property="sendUrlFlag" />
 		<result column="is_allow_arrange_exam_" property="isAllowArrangeExam" />
@@ -47,18 +48,18 @@
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.keao.edu.user.entity.ExamOrganizationRelation" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO exam_organization_relation (examination_basic_id_,organ_id_,settlement_type_,share_profit_amount_,
-		self_registration_student_num_,self_payment_amount_,total_registration_student_num_,total_payment_amount_,
+		self_registration_student_num_,self_payment_amount_,total_registration_student_num_,total_payment_amount_,subsidy_,
 		url_,send_url_flag_,is_allow_arrange_exam_,total_trans_amount_,
 		create_time_,update_time_,tenant_id_)
 		VALUES(#{examinationBasicId},#{organId},#{settlementType,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{shareProfitAmount},
-		#{selfRegistrationStudentNum},#{selfPaymentAmount},#{totalRegistrationStudentNum},#{totalPaymentAmount},
+		#{selfRegistrationStudentNum},#{selfPaymentAmount},#{totalRegistrationStudentNum},#{totalPaymentAmount},#{subsidy}
 		#{url},#{sendUrlFlag},#{isAllowArrangeExam},#{totalTransAmount},
 		NOW(),NOW(),#{tenantId})
 	</insert>
 
     <insert id="batchInsert" parameterType="com.keao.edu.user.entity.ExamOrganizationRelation" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO exam_organization_relation (examination_basic_id_,organ_id_,settlement_type_,share_profit_amount_,
-		self_registration_student_num_,self_payment_amount_,total_registration_student_num_,total_payment_amount_,
+		self_registration_student_num_,self_payment_amount_,total_registration_student_num_,total_payment_amount_,subsidy_,
 		url_,send_url_flag_,is_allow_arrange_exam_,total_trans_amount_,
 		create_time_,update_time_,tenant_id_)
 		VALUES
@@ -69,7 +70,9 @@
 			#{examOrganizationRelation.selfRegistrationStudentNum},
 			#{examOrganizationRelation.selfPaymentAmount},
 			#{examOrganizationRelation.totalRegistrationStudentNum},
-			#{examOrganizationRelation.totalPaymentAmount},#{examOrganizationRelation.url},
+			#{examOrganizationRelation.totalPaymentAmount},
+			#{examOrganizationRelation.subsidy},
+			#{examOrganizationRelation.url},
 			#{examOrganizationRelation.sendUrlFlag},
 			#{examOrganizationRelation.isAllowArrangeExam},
 			#{examOrganizationRelation.totalTransAmount},
@@ -114,6 +117,9 @@
 			<if test="totalTransAmount != null">
 				total_trans_amount_ = #{totalTransAmount},
 			</if>
+			<if test="subsidy != null">
+				subsidy_ = #{subsidy}
+			</if>
 			<if test="organId != null">
 				organ_id_ = #{organId},
 			</if>
@@ -161,6 +167,9 @@
 				<if test="eo.totalTransAmount != null">
 					total_trans_amount_ = #{eo.totalTransAmount},
 				</if>
+				<if test="eo.subsidy != null">
+					subsidy_ = #{eo.subsidy},
+				</if>
 				<if test="eo.organId != null">
 					organ_id_ = #{eo.organId},
 				</if>

+ 11 - 4
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamTeacherSalaryMapper.xml

@@ -16,6 +16,7 @@
 		<result column="total_invigilation_num_" property="totalInvigilationNum"/>
 		<result column="total_invigilation_student_num_" property="totalInvigilationStudentNum"/>
 		<result column="total_settlement_fee_" property="totalSettlementCost"/>
+		<result column="subsidy_" property="subsidy"/>
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 		<result column="tenant_id_" property="tenantId" />
@@ -39,19 +40,19 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.keao.edu.user.entity.ExamTeacherSalary" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO exam_teacher_salary (id_,examination_basic_id_,exam_mode_,teacher_id_,settlement_type_,share_profit_amount_,
+		INSERT INTO exam_teacher_salary (id_,examination_basic_id_,exam_mode_,teacher_id_,settlement_type_,share_profit_amount_,subsidy_,
 		total_invigilation_num_,total_invigilation_student_num_,total_settlement_fee_,create_time_,update_time_,tenant_id_)
-		VALUES(#{id},#{examinationBasicId},#{examMode,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{teacherId},#{settlementType,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{shareProfitAmount},
+		VALUES(#{id},#{examinationBasicId},#{examMode,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{teacherId},#{settlementType,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{shareProfitAmount},#{subsidy},
 		#{totalInvigilationNum},#{totalInvigilationStudentNum},#{totalSettlementCost},NOW(),NOW(),#{tenantId})
 	</insert>
 
 	<insert id="batchInsert" parameterType="com.keao.edu.user.entity.ExamTeacherSalary" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO exam_teacher_salary (examination_basic_id_,exam_mode_,teacher_id_,settlement_type_,share_profit_amount_,
+		INSERT INTO exam_teacher_salary (examination_basic_id_,exam_mode_,teacher_id_,settlement_type_,share_profit_amount_,subsidy_,
 		total_invigilation_num_,total_invigilation_student_num_,total_settlement_fee_,create_time_,update_time_,tenant_id_)
 		VALUES
 		<foreach collection="examTeacherSalaries" item="ets" separator=",">
 			(#{ets.examinationBasicId},#{ets.examMode,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{ets.teacherId},
-			#{ets.settlementType,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{ets.shareProfitAmount},
+			#{ets.settlementType,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{ets.shareProfitAmount},#{ets.subsidy},
 			#{ets.totalInvigilationNum},#{ets.totalInvigilationStudentNum},#{ets.totalSettlementCost},NOW(),NOW(),#{ets.tenantId})
 		</foreach>
 	</insert>
@@ -87,6 +88,9 @@
 			<if test="totalSettlementCost != null">
 				total_settlement_fee_ = #{totalSettlementCost},
 			</if>
+			<if test="subsidy!=null">
+				subsidy_ = #{subsidy},
+			</if>
 				update_time_ = NOW()
 		</set> WHERE id_ = #{id}
 	</update>
@@ -122,6 +126,9 @@
 				<if test="ts.totalSettlementCost != null">
 					total_settlement_fee_ = #{ts.totalSettlementCost},
 				</if>
+				<if test="ts.subsidy != null">
+					subsidy_ = #{ts.subsidy},
+				</if>
 				update_time_ = NOW()
 			</set> WHERE id_ = #{ts.id}
 		</foreach>

+ 9 - 4
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamTeacherSalaryController.java

@@ -14,10 +14,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
 import java.util.Date;
@@ -61,6 +58,14 @@ public class ExamTeacherSalaryController extends BaseController {
         return succeed();
     }
 
+    @ApiOperation("新增考级教师")
+    @PostMapping(value = "/addExamTeacherSalarys")
+    @PreAuthorize("@pcs.hasPermissions('examTeacherSalary/addExamTeacherSalary')")
+    public HttpResponseResult addExamTeacherSalarys(@RequestBody List<ExamTeacherSalary> examTeacherSalaries) {
+        examTeacherSalaryService.addExamTeacherSalarys(examTeacherSalaries);
+        return succeed();
+    }
+
     @ApiOperation("获取指定考级项目可排考教师")
     @GetMapping(value = "/getExamTeachers")
     @PreAuthorize("@pcs.hasPermissions('examTeacherSalary/getExamTeachers')")