yonge 5 년 전
부모
커밋
d367bd3c4e

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDefaultPracticeGroupSalaryDao.java

@@ -1,9 +1,20 @@
 package com.ym.mec.biz.dal.dao;
 
+import java.util.List;
+
 import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
 import com.ym.mec.common.dal.BaseDAO;
 
 public interface TeacherDefaultPracticeGroupSalaryDao extends BaseDAO<Long, TeacherDefaultPracticeGroupSalary> {
 
-	
+	/**
+	 * 查询指定老师的默认课酬
+	 * @param userId
+	 * @return
+	 */
+	List<TeacherDefaultPracticeGroupSalary> queryByUserId(Integer userId);
+
+    int deleteByUserId(Integer userId);
+    
+    int batchInsert(List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList);
 }

+ 15 - 13
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherDefaultPracticeGroupSalary.java

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.dal.entity;
 
+import java.math.BigDecimal;
+
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 /**
@@ -17,10 +19,10 @@ public class TeacherDefaultPracticeGroupSalary {
 	private Integer minutes;
 	
 	/**  */
-	private long mainTeacherSalary;
+	private BigDecimal mainTeacherSalary;
 	
 	/**  */
-	private long assistantTeacherSalary;
+	private BigDecimal assistantTeacherSalary;
 	
 	/**  */
 	private java.util.Date createTime;
@@ -52,22 +54,22 @@ public class TeacherDefaultPracticeGroupSalary {
 		return this.minutes;
 	}
 			
-	public void setMainTeacherSalary(long mainTeacherSalary){
+	public BigDecimal getMainTeacherSalary() {
+		return mainTeacherSalary;
+	}
+
+	public void setMainTeacherSalary(BigDecimal mainTeacherSalary) {
 		this.mainTeacherSalary = mainTeacherSalary;
 	}
-	
-	public long getMainTeacherSalary(){
-		return this.mainTeacherSalary;
+
+	public BigDecimal getAssistantTeacherSalary() {
+		return assistantTeacherSalary;
 	}
-			
-	public void setAssistantTeacherSalary(long assistantTeacherSalary){
+
+	public void setAssistantTeacherSalary(BigDecimal assistantTeacherSalary) {
 		this.assistantTeacherSalary = assistantTeacherSalary;
 	}
-	
-	public long getAssistantTeacherSalary(){
-		return this.assistantTeacherSalary;
-	}
-			
+
 	public void setCreateTime(java.util.Date createTime){
 		this.createTime = createTime;
 	}

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherDefaultPracticeGroupSalaryService.java

@@ -1,8 +1,25 @@
 package com.ym.mec.biz.service;
 
+import java.util.Date;
+import java.util.List;
+
 import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
 import com.ym.mec.common.service.BaseService;
 
 public interface TeacherDefaultPracticeGroupSalaryService extends BaseService<Long, TeacherDefaultPracticeGroupSalary> {
 
+	/**
+	 * 查询指定老师的默认课酬
+	 * @param userId
+	 * @return
+	 */
+	List<TeacherDefaultPracticeGroupSalary> queryByUserId(Integer userId);
+
+	/**
+	 * 批量设置课酬
+	 * @param teacherDefaultPracticeGroupSalaryList
+	 * @param startDate
+	 * @return
+	 */
+	boolean update(List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList, Date startDate);
 }

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -52,6 +52,7 @@ import com.ym.mec.biz.dal.dao.SysConfigDao;
 import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dao.TeacherDefaultMusicGroupSalaryDao;
+import com.ym.mec.biz.dal.dao.TeacherDefaultPracticeGroupSalaryDao;
 import com.ym.mec.biz.dal.dao.TeacherDefaultVipGroupSalaryDao;
 import com.ym.mec.biz.dal.dao.VipGroupDao;
 import com.ym.mec.biz.dal.dto.ClassDateAdjustDto;
@@ -90,6 +91,7 @@ import com.ym.mec.biz.dal.entity.SysConfig;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.entity.TeacherAttendance;
 import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
+import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
 import com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary;
 import com.ym.mec.biz.dal.entity.VipGroup;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
@@ -152,6 +154,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     private StudentAttendanceDao studentAttendanceDao;
     @Autowired
     private ClassGroupStudentMapperDao classGroupStudentMapperDao;
+    
+    @Autowired
+    private TeacherDefaultPracticeGroupSalaryDao teacherDefaultPracticeGroupSalaryDao;
+    
     @Autowired
     private SysMessageService sysMessageService;
     @Autowired
@@ -1959,7 +1965,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 							}
 						}
 					} else if (newCourseSchedule.getGroupType() == GroupType.PRACTICE) {
-						ts.setExpectSalary(new BigDecimal(30));
+						List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
+						if (teacherDefaultPracticeGroupSalaryList != null && teacherDefaultPracticeGroupSalaryList.size() > 0) {
+							ts.setExpectSalary(teacherDefaultPracticeGroupSalaryList.get(0).getMainTeacherSalary());
+						} else {
+							ts.setExpectSalary(new BigDecimal(30));
+						}
 					}
 					insertCourseScheduleTeacherSalaryList.add(ts);
 				}

+ 61 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultPracticeGroupSalaryServiceImpl.java

@@ -1,9 +1,19 @@
 package com.ym.mec.biz.service.impl;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
+import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
 import com.ym.mec.biz.dal.dao.TeacherDefaultPracticeGroupSalaryDao;
+import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
+import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
 import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
 import com.ym.mec.biz.service.TeacherDefaultPracticeGroupSalaryService;
 import com.ym.mec.common.dal.BaseDAO;
@@ -15,9 +25,60 @@ public class TeacherDefaultPracticeGroupSalaryServiceImpl extends BaseServiceImp
 	@Autowired
 	private TeacherDefaultPracticeGroupSalaryDao teacherDefaultPracticeGroupSalaryDao;
 
+	@Autowired
+	private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
+
 	@Override
 	public BaseDAO<Long, TeacherDefaultPracticeGroupSalary> getDAO() {
 		return teacherDefaultPracticeGroupSalaryDao;
 	}
+
+	@Override
+	public List<TeacherDefaultPracticeGroupSalary> queryByUserId(Integer userId) {
+		return teacherDefaultPracticeGroupSalaryDao.queryByUserId(userId);
+	}
+
+	@Override
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+	public boolean update(List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList, Date startDate) {
+		
+		if(teacherDefaultPracticeGroupSalaryList != null && teacherDefaultPracticeGroupSalaryList.size() > 0){
+			Integer userId = teacherDefaultPracticeGroupSalaryList.get(0).getUserId();
+			BigDecimal salary = teacherDefaultPracticeGroupSalaryList.get(0).getMainTeacherSalary();
+			
+			//先清空
+			teacherDefaultPracticeGroupSalaryDao.deleteByUserId(userId);
+			//再批量新增
+			teacherDefaultPracticeGroupSalaryDao.batchInsert(teacherDefaultPracticeGroupSalaryList);
+			
+			if(startDate != null){
+				//更新课酬
+
+				String typeList = CourseScheduleType.PRACTICE.getCode();
+				// 查询所有需要修改的课酬
+				List<CourseScheduleTeacherSalary> updateTeacherSalaryList = courseScheduleTeacherSalaryDao.queryUserNoSettlementListByTypeAndStartClassDate(
+						userId, typeList, startDate);
+				
+				if (updateTeacherSalaryList != null && updateTeacherSalaryList.size() > 0) {
+					
+					Date date = new Date();
+
+					List<CourseScheduleTeacherSalary> list = new ArrayList<CourseScheduleTeacherSalary>();
+
+					for (CourseScheduleTeacherSalary ts : updateTeacherSalaryList) {
+						ts.setExpectSalary(salary);
+						ts.setUpdateTime(date);
+					}
+					if (list.size() > 0) {
+						courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalarys(list);
+					}
+				}
+			}
+			
+			return true;
+		}
+		
+		return false;
+	}
 	
 }

+ 17 - 1
mec-biz/src/main/resources/config/mybatis/TeacherDefaultPracticeGroupSalaryMapper.xml

@@ -35,6 +35,14 @@
 		(id_,user_id_,minutes_,main_teacher_salary_,assistant_teacher_salary_,create_time_,update_time_)
 		VALUES(#{id},#{userId},#{minutes},#{mainTeacherSalary},#{assistantTeacherSalary},#{createTime},#{updateTime})
 	</insert>
+	
+    <insert id="batchInsert">
+    	INSERT INTO teacher_default_practice_group_salary
+		(id_,user_id_,minutes_,main_teacher_salary_,assistant_teacher_salary_,create_time_,update_time_)
+		<foreach collection="list" item="item" separator=",">
+			VALUES(#{item.id},#{item.userId},#{item.minutes},#{item.mainTeacherSalary},#{item.assistantTeacherSalary},now(),now())
+		</foreach>
+    </insert>
 
 	<!-- 根据主键查询一条记录 -->
 	<update id="update"
@@ -69,9 +77,13 @@
 	<!-- 根据主键删除一条记录 -->
 	<delete id="delete">
 		DELETE FROM
-		teacher_default_practice_group_salary WHERE id_ = #{id}
+		teacher_default_practice_group_salary WHERE user_id_ = #{userId}
 	</delete>
 
+	<delete id="deleteByUserId">
+		DELETE FROM teacher_default_practice_group_salary WHERE id_ = #{id}
+	</delete>
+	
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="TeacherDefaultPracticeGroupSalary"
 		parameterType="map">
@@ -84,4 +96,8 @@
 		SELECT COUNT(*) FROM
 		teacher_default_practice_group_salary
 	</select>
+
+	<select id="queryByTeacherId" resultMap="TeacherDefaultPracticeGroupSalary">
+		SELECT * FROM teacher_default_practice_group_salary where user_id_ = #{userId} ORDER BY id_
+	</select>
 </mapper>

+ 42 - 14
mec-web/src/main/java/com/ym/mec/web/controller/TeacherDefaultPracticeGroupSalaryController.java

@@ -3,13 +3,18 @@ package com.ym.mec.web.controller;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
+import java.util.Date;
+import java.util.List;
+
 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.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
 import com.ym.mec.biz.service.TeacherDefaultPracticeGroupSalaryService;
 import com.ym.mec.common.controller.BaseController;
 
@@ -18,21 +23,44 @@ import com.ym.mec.common.controller.BaseController;
 @RestController
 public class TeacherDefaultPracticeGroupSalaryController extends BaseController {
 
-    @Autowired
-    private TeacherDefaultPracticeGroupSalaryService teacherDefaultPracticeGroupSalaryService;
+	@Autowired
+	private TeacherDefaultPracticeGroupSalaryService teacherDefaultPracticeGroupSalaryService;
+
+	@ApiOperation(value = "获取教师的陪练课课酬列表")
+	@GetMapping("/queryPageByTeacherId")
+	@PreAuthorize("@pcs.hasPermissions('teacherDefaultPracticeGroupSalary/queryByTeacherId')")
+	public Object queryByTeacherId(Integer teacherId) {
+		return succeed(teacherDefaultPracticeGroupSalaryService.queryByUserId(teacherId));
+	}
+
+	@ApiOperation(value = "批量新增、修改教师陪练课课酬")
+	@PostMapping("/update")
+	@PreAuthorize("@pcs.hasPermissions('teacherDefaultPracticeGroupSalary/update')")
+	public Object update(@RequestBody TeacherDefaultPracticeGroupSalaryTemp teacherDefaultPracticeGroupSalaryTemp) {
+		return teacherDefaultPracticeGroupSalaryService.update(teacherDefaultPracticeGroupSalaryTemp.getTeacherDefaultPracticeGroupSalaries(),
+				teacherDefaultPracticeGroupSalaryTemp.getStartDate()) ? succeed() : failed();
+	}
+
+	class TeacherDefaultPracticeGroupSalaryTemp {
+
+		private List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries;
+
+		private Date startDate;
+
+		public List<TeacherDefaultPracticeGroupSalary> getTeacherDefaultPracticeGroupSalaries() {
+			return teacherDefaultPracticeGroupSalaries;
+		}
 
-    @ApiOperation(value = "获取教师的陪练课课酬列表")
-    @GetMapping("/queryPageByTeacherId")
-    @PreAuthorize("@pcs.hasPermissions('teacherDefaultPracticeGroupSalary/queryByTeacherId')")
-    public Object queryByTeacherId(Integer teacherId){
-        return succeed();
-    }
+		public void setTeacherDefaultPracticeGroupSalaries(List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries) {
+			this.teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaries;
+		}
 
-    @ApiOperation(value = "批量新增、修改教师vip课酬")
-    @PostMapping("/update")
-    @PreAuthorize("@pcs.hasPermissions('teacherDefaultPracticeGroupSalary/update')")
-    public Object setVipGroupSalary(){
-        return succeed();
-    }
+		public Date getStartDate() {
+			return startDate;
+		}
 
+		public void setStartDate(Date startDate) {
+			this.startDate = startDate;
+		}
+	}
 }