Bläddra i källkod

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/service/StudentRepairService.java
zouxuan 5 år sedan
förälder
incheckning
8e858a892c
17 ändrade filer med 198 tillägg och 14 borttagningar
  1. 9 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java
  2. 16 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRepairDao.java
  3. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/BasicUserDto.java
  4. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherCourseSalaryDetail4WebDto.java
  5. 29 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentRepair.java
  6. 14 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentRepairService.java
  7. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleStudentPaymentServiceImpl.java
  8. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java
  9. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java
  10. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRepairServiceImpl.java
  11. 13 0
      mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml
  12. 2 2
      mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesReplyMapper.xml
  13. 3 0
      mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml
  14. 26 4
      mec-biz/src/main/resources/config/mybatis/StudentRepairMapper.xml
  15. 14 0
      mec-student/src/main/java/com/ym/mec/student/controller/RepairController.java
  16. 3 3
      mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java
  17. 19 0
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduRepairController.java

+ 9 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java

@@ -8,7 +8,6 @@ import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -255,4 +254,13 @@ public interface CourseScheduleStudentPaymentDao extends BaseDAO<Long, CourseSch
     List<StudentCourseTimesDto> queryStudentNotStartCourseTimesOfOnline();
 
     List<StudentTeacherCourseDto> findAllStudentCourseInfo();
+
+    /**
+     * @describe 统计每节课的收款
+     * @author Joburgess
+     * @date 2020.05.09
+     * @param courseScheduleIds:
+     * @return java.util.List<java.util.Map<java.lang.Long,java.math.BigDecimal>>
+     */
+    List<Map<Long, BigDecimal>> findCoursePayment(@Param("courseScheduleIds") List<Long> courseScheduleIds);
 }

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRepairDao.java

@@ -29,8 +29,24 @@ public interface StudentRepairDao extends com.ym.mec.common.dal.BaseDAO<Integer,
 
      /**
       * 获取学生乐团列表
+      *
       * @param userIds
       * @return
       */
      List<MusicGroup> getUserMusicGroup(@Param("userIds") Set<Integer> userIds);
+
+     /**
+      * 获取学生信息
+      *
+      * @param studentId
+      * @return
+      */
+     BasicUserDto getStudentInfo(@Param("studentId") Integer studentId);
+
+     /**
+      * 获取维修单信息
+      * @param id
+      * @return
+      */
+     StudentRepair getRepairInfo(@Param("id") Integer id);
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/BasicUserDto.java

@@ -20,6 +20,10 @@ public class BasicUserDto {
 
     private String userType;
 
+    private Integer subjectId;
+
+    private String phone;
+
     public String getUserType() {
         return userType;
     }
@@ -96,4 +100,20 @@ public class BasicUserDto {
     public int hashCode() {
         return Objects.hash(userId);
     }
+
+    public Integer getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherCourseSalaryDetail4WebDto.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.dal.dto;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.TeacherSalaryConfirmStatus;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
 
 import java.math.BigDecimal;
 import java.util.Date;
@@ -45,6 +46,9 @@ public class TeacherCourseSalaryDetail4WebDto {
     private YesOrNoEnum signOutStatus;
     private String signOutStatusStr;
 
+    @ApiModelProperty(value = "实际收款")
+    private BigDecimal actualReceipts;
+
     private java.math.BigDecimal expectSalary;
 
     private java.math.BigDecimal actualSalary;
@@ -57,6 +61,13 @@ public class TeacherCourseSalaryDetail4WebDto {
 
     private String memo;
 
+    public BigDecimal getActualReceipts() {
+        return actualReceipts;
+    }
+
+    public void setActualReceipts(BigDecimal actualReceipts) {
+        this.actualReceipts = actualReceipts;
+    }
 
     public Integer getCourseTimes() {
         return courseTimes;

+ 29 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentRepair.java

@@ -43,11 +43,21 @@ public class StudentRepair {
     private Integer employeeId;
 
     /**
-    * 技师名字
-    */
+     * 技师名字
+     */
     private String employeeName;
 
     /**
+     * 技师电话
+     */
+    private String employeePhone;
+
+    /**
+     * 技师联系地址
+     */
+    private String employeeAddress;
+
+    /**
     * 乐器类型id
     */
     private Integer subjectId;
@@ -103,7 +113,7 @@ public class StudentRepair {
     private String address;
 
     /**
-    * 支付状态 0-未支付 1-已支付
+    * 支付状态 0-未支付 1-支付中 2-已支付
     */
     private Integer payStatus;
 
@@ -313,4 +323,20 @@ public class StudentRepair {
     public void setUpdateTime(Date updateTime) {
         this.updateTime = updateTime;
     }
+
+    public String getEmployeePhone() {
+        return employeePhone;
+    }
+
+    public void setEmployeePhone(String employeePhone) {
+        this.employeePhone = employeePhone;
+    }
+
+    public String getEmployeeAddress() {
+        return employeeAddress;
+    }
+
+    public void setEmployeeAddress(String employeeAddress) {
+        this.employeeAddress = employeeAddress;
+    }
 }

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentRepairService.java

@@ -32,4 +32,18 @@ public interface StudentRepairService extends BaseService<Integer, StudentRepair
      * @param description
      */
     void repairSuccess(Integer id, String description,Integer repairStatus);
+
+    /**
+     * 获取学生信息
+     * @param studentId
+     * @return
+     */
+    BasicUserDto getStudentInfo(Integer studentId);
+
+    /**
+     * 获取维修单详情
+     * @param id
+     * @return
+     */
+    StudentRepair getRepairInfo(Integer id);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleStudentPaymentServiceImpl.java

@@ -142,6 +142,9 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 
     @Override
     public int deleteStudentCourseSchedule(Integer userId, List<CourseSchedule> courseScheduleList) {
+		if(courseScheduleList.size() == 0){
+			return 0;
+		}
 		return courseScheduleStudentPaymentDao.deleteStudentCourseSchedule(userId,courseScheduleList);
     }
 

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -926,12 +926,17 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());
             dataList = courseScheduleTeacherSalaryDao.findIsSettlementCourseSalarys(params);
+            List<Long> courseScheduleIds = dataList.stream().map(TeacherCourseSalaryDetail4WebDto::getCourseScheduleId).collect(Collectors.toList());
+            List<Map<Long, BigDecimal>> coursePaymentMaps = courseScheduleStudentPaymentDao.findCoursePayment(courseScheduleIds);
+            Map<Long, BigDecimal> coursePaymentMap = MapUtil.convertIntegerMap(coursePaymentMaps);
             for (TeacherCourseSalaryDetail4WebDto teacherCourseSalaryDetail4WebDto : dataList) {
                 if(Objects.nonNull(teacherCourseSalaryDetail4WebDto.getReduceSalary())){
                     teacherCourseSalaryDetail4WebDto.setFinalSalary(teacherCourseSalaryDetail4WebDto.getActualSalary().subtract(teacherCourseSalaryDetail4WebDto.getReduceSalary()));
                 }else{
                     teacherCourseSalaryDetail4WebDto.setFinalSalary(teacherCourseSalaryDetail4WebDto.getActualSalary());
                 }
+                BigDecimal paymentPrice = coursePaymentMap.get(teacherCourseSalaryDetail4WebDto.getCourseScheduleId());
+                teacherCourseSalaryDetail4WebDto.setActualReceipts(paymentPrice);
             }
         }
         if (count == 0) {

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

@@ -235,7 +235,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 		}
 
 		List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedule(studentAttendanceInfo.getCourseScheduleId());
-		if(CollectionUtils.isEmpty(courseScheduleTeacherSalaries)&&Objects.nonNull(courseScheduleTeacherSalaries.get(0).getSettlementTime())){
+		if(!CollectionUtils.isEmpty(courseScheduleTeacherSalaries)&&Objects.nonNull(courseScheduleTeacherSalaries.get(0).getSettlementTime())){
 			throw new BizException("此课程已结算");
 		}
 

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRepairServiceImpl.java

@@ -183,4 +183,14 @@ public class StudentRepairServiceImpl extends BaseServiceImpl<Integer, StudentRe
         log.info("操作人 :" + sysUser.getId());
     }
 
+    @Override
+    public BasicUserDto getStudentInfo(Integer studentId) {
+        return studentRepairDao.getStudentInfo(studentId);
+    }
+
+    @Override
+    public StudentRepair getRepairInfo(Integer id) {
+        return studentRepairDao.getRepairInfo(id);
+    }
+
 }

+ 13 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -416,4 +416,17 @@
 			LEFT JOIN class_group_teacher_mapper cgtm ON cssp.class_group_id_=cgtm.class_group_id_
 		WHERE cs.type_ IN ('PRACTICE', 'VIP', 'SINGLE', 'MIX') AND cgtm.teacher_role_='BISHOP';
 	</select>
+    <select id="findCoursePayment" resultType="map">
+		SELECT
+			course_schedule_id_ AS 'key',
+			SUM( CASE WHEN actual_price_ IS NULL THEN expect_price_ ELSE actual_price_ END ) AS 'value'
+		FROM
+			course_schedule_student_payment
+		WHERE course_schedule_id_ IN
+		<foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
+			#{courseScheduleId}
+		</foreach>
+		GROUP BY
+			course_schedule_id_
+    </select>
 </mapper>

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesReplyMapper.xml

@@ -294,7 +294,7 @@
 		left join extracurricular_exercises ee on eer.extracurricular_exercises_id_ = ee.id_
 		left join sys_user u on eer.user_id_ = u.id_
 		left join teacher t on t.id_ = ee.teacher_id_
-		left join organization o on o.id_ = t.organ_id_
+		left join organization o on o.id_ = u.organ_id_
 		<include refid="queryExtraExercisesCondition"/>
 		ORDER BY eer.id_ <include refid="global.limit"/>
 	</select>
@@ -303,7 +303,7 @@
 		left join extracurricular_exercises ee on eer.extracurricular_exercises_id_ = ee.id_
 		left join sys_user u on eer.user_id_ = u.id_
 		left join teacher t on t.id_ = ee.teacher_id_
-		left join organization o on o.id_ = t.organ_id_
+		left join organization o on o.id_ = u.organ_id_
 		<include refid="queryExtraExercisesCondition"/>
 	</select>
     <select id="findNoPracticeStudentExercisesInWeek" resultMap="ExtracurricularExercisesReply">

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -243,6 +243,9 @@
 		<result column="gender_" property="gender"/>
 		<result column="music_group_id_" property="musicGroupId"/>
 		<result column="user_type_" property="userType"/>
+		<result column="music_group_name_" property="musicGroupName"/>
+		<result column="subject_id_" property="subjectId"/>
+		<result column="phone_" property="phone"/>
 	</resultMap>
 
     <select id="queryUserGroups" resultMap="com.ym.mec.biz.dal.dao.ClassGroupDao.imGroupModel">

+ 26 - 4
mec-biz/src/main/resources/config/mybatis/StudentRepairMapper.xml

@@ -11,6 +11,8 @@
         <result column="student_school_" jdbcType="VARCHAR" property="studentSchool"/>
         <result column="employee_id_" jdbcType="INTEGER" property="employeeId"/>
         <result column="employee_name_" jdbcType="VARCHAR" property="employeeName"/>
+        <result column="employee_phone_" jdbcType="VARCHAR" property="employeePhone"/>
+        <result column="employee_address_" jdbcType="VARCHAR" property="employeeAddress"/>
         <result column="subject_id_" jdbcType="INTEGER" property="subjectId"/>
         <result column="subject_name_" jdbcType="VARCHAR" property="subjectName"/>
         <result column="type_" jdbcType="INTEGER" property="type"/>
@@ -29,9 +31,7 @@
     </resultMap>
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="StudentRepair">
-        SELECT *
-        FROM school
-        WHERE id_ = #{id}
+        SELECT * FROM student_repair WHERE id_=#{id}
     </select>
 
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.StudentRepair" useGeneratedKeys="true" keyColumn="id"
@@ -126,7 +126,7 @@
     </update>
 
     <select id="getStudents" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
-        SELECT username_ ,id_ user_id_,avatar_ head_url_,gender_
+        SELECT username_ ,id_ user_id_,avatar_ head_url_,gender_,phone_
         FROM sys_user
         WHERE FIND_IN_SET(organ_id_,#{organIdList})
         AND user_type_ LIKE '%STUDENT%'
@@ -211,4 +211,26 @@
         AND mg.status_='PROGRESS'
         ORDER BY id_ DESC
     </select>
+    <select id="getStudentInfo" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
+        SELECT su.username_,
+               su.id_     user_id_,
+               su.avatar_ head_url_,
+               su.gender_,
+               mg.id_     music_group_id_,
+               mg.name_   music_group_name_,
+               sr.subject_id_
+        FROM sys_user su
+                 LEFT JOIN student_registration sr ON sr.user_id_ = su.id_
+                 LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_
+        WHERE su.id_ = #{studentId}
+        ORDER BY mg.id_ DESC
+        LIMIT 1
+    </select>
+
+    <select id="getRepairInfo" resultMap="StudentRepair">
+        SELECT sr.*,su.phone_ employee_phone_,e.contact_address_ employee_address_ FROM student_repair sr
+        LEFT JOIN sys_user su ON su.id_=sr.employee_id_
+        LEFT JOIN employee e ON sr.employee_id_ = e.user_id_
+        WHERE sr.id_ = #{id}
+    </select>
 </mapper>

+ 14 - 0
mec-student/src/main/java/com/ym/mec/student/controller/RepairController.java

@@ -43,5 +43,19 @@ public class RepairController extends BaseController {
         return succeed(studentRepairService.queryPage(queryInfo));
     }
 
+    @ApiOperation("获取维修记录详情")
+    @GetMapping(value = "/getRepairInfo")
+    public HttpResponseResult getRepairInfo(Integer id) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        StudentRepair repairInfo = studentRepairService.getRepairInfo(id);
+        if (!repairInfo.getStudentId().equals(sysUser.getId())) {
+            return failed("您的维修记录不存在");
+        }
+        return succeed(repairInfo);
+    }
+
 
 }

+ 3 - 3
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -1298,10 +1298,10 @@ public class ExportController extends BaseController {
         OutputStream ouputStream = null;
         try {
             HSSFWorkbook workbook = POIUtil.exportExcel(
-                    new String[]{"分部", "课程组类型", "课程编号", "时间", "课程名称", "老师编号", "老师姓名", "签到时间", "签退时间", "应发课酬",
-                            "课酬扣款", "结算课酬", "状态", "备注"},
+                    new String[]{"分部", "课程组类型", "课程编号", "时间", "课程名称", "老师编号", "老师姓名", "签到时间", "签退时间",
+                            "实际收款", "应发课酬", "课酬扣款", "结算课酬", "状态", "备注"},
                     new String[]{"organName", "groupType.desc", "courseScheduleId", "startClassTime", "courseName", "teacherId", "teacherName",
-                            "signInStatusStr", "signOutStatusStr", "actualSalary", "reduceSalary", "finalSalary", "confirmStatus.desc", "memo"}, rows);
+                            "signInStatusStr", "signOutStatusStr", "actualReceipts", "actualSalary", "reduceSalary", "finalSalary", "confirmStatus.desc", "memo"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
             ouputStream = response.getOutputStream();

+ 19 - 0
mec-web/src/main/java/com/ym/mec/web/controller/education/EduRepairController.java

@@ -87,5 +87,24 @@ public class EduRepairController extends BaseController {
         return succeed(subjectService.findSubSubjects(1));
     }
 
+    @ApiOperation("获取学生信息")
+    @GetMapping(value = "/getStudentInfo")
+    public HttpResponseResult getStudentInfo(Integer studentId) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        return succeed(studentRepairService.getStudentInfo(studentId));
+    }
+
+    @ApiOperation("获取维修记录详情")
+    @GetMapping(value = "/getRepairInfo")
+    public HttpResponseResult getRepairInfo(Integer id) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        return succeed(studentRepairService.getRepairInfo(id));
+    }
 
 }