Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 5 years ago
parent
commit
6fbfaa6825

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupTeacherMapperDao.java

@@ -70,4 +70,11 @@ public interface ClassGroupTeacherMapperDao extends BaseDAO<Long, ClassGroupTeac
      * @return
      */
     int delClassGroupTeacherMapper(@Param("classGroupIds") List<Integer> classGroupIds);
+
+    /**
+     * 获取助教名称列表
+     * @param classGroupId
+     * @return
+     */
+    String queryTeachingNames(Long classGroupId);
 }

+ 9 - 9
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherClassHeadInfo.java

@@ -14,8 +14,8 @@ public class TeacherClassHeadInfo {
     @ApiModelProperty(value = "主教名称")
     private String bishopTeacher;
 
-    @ApiModelProperty(value = "助教编号")
-    private Long teachingTeacherId;
+//    @ApiModelProperty(value = "助教编号")
+//    private Long teachingTeacherId;
 
     @ApiModelProperty(value = "助教名称")
     private String teachingTeacher;
@@ -80,13 +80,13 @@ public class TeacherClassHeadInfo {
         this.bishopTeacher = bishopTeacher;
     }
 
-    public Long getTeachingTeacherId() {
-        return teachingTeacherId;
-    }
-
-    public void setTeachingTeacherId(Long teachingTeacherId) {
-        this.teachingTeacherId = teachingTeacherId;
-    }
+//    public Long getTeachingTeacherId() {
+//        return teachingTeacherId;
+//    }
+//
+//    public void setTeachingTeacherId(Long teachingTeacherId) {
+//        this.teachingTeacherId = teachingTeacherId;
+//    }
 
     public String getTeachingTeacher() {
         return teachingTeacher;

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderDetailService.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.BaseService;
 import org.apache.ibatis.annotations.Param;
 
@@ -39,7 +40,7 @@ public interface StudentPaymentOrderDetailService extends BaseService<Long, Stud
      * @param musicGroupId
      * @return
      */
-    List<Goods> verifyMusicalList(String musicGroupId);
+    Boolean verifyMusicalList(String musicGroupId) throws BizException;
 
     /**
      * 查询订单商品

+ 9 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -848,11 +848,15 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             teacherClassHeadInfo.setBishopTeacherId(bishopTeacher.getId());
             teacherClassHeadInfo.setBishopTeacher(bishopTeacher.getUserName());
         }
-        ClassGroupTeacherMapper teachingTeacher = classGroupTeacherMapperDao.findByClassGroupAndRole(classGroupId, TeachTypeEnum.TEACHING);
-        if (Objects.nonNull(teachingTeacher)) {
-            teacherClassHeadInfo.setTeachingTeacherId(teachingTeacher.getId());
-            teacherClassHeadInfo.setTeachingTeacher(teachingTeacher.getUserName());
-        }
+
+        String name = classGroupTeacherMapperDao.queryTeachingNames(classGroupId);
+        teacherClassHeadInfo.setTeachingTeacher(name);
+
+//        ClassGroupTeacherMapper teachingTeacher = classGroupTeacherMapperDao.findByClassGroupAndRole(classGroupId, TeachTypeEnum.TEACHING);
+//        if (Objects.nonNull(teachingTeacher)) {
+//            teacherClassHeadInfo.setTeachingTeacherId(teachingTeacher.getId());
+//            teacherClassHeadInfo.setTeachingTeacher(teachingTeacher.getUserName());
+//        }
 
         if (classGroup.getType() == ClassGroupTypeEnum.VIP) {
             String[] studentNums = classGroupStudentMapperDao.findStudentNumByClassGroupId(classGroupId);

+ 0 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -72,8 +72,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	@Autowired
 	private ClassGroupDao classGroupDao;
 	@Autowired
-	private TeacherDao teacherDao;
-	@Autowired
 	private MusicGroupDao musicGroupDao;
 	@Autowired
 	private SubjectDao subjectDao;

+ 12 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -14,12 +14,12 @@ import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
 import com.ym.mec.biz.dal.enums.ParamEnum;
 import com.ym.mec.biz.dal.page.EmployeeQueryInfo;
-import com.ym.mec.biz.service.ContractService;
 import com.ym.mec.biz.service.EmployeeService;
 import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImResult;
 import com.ym.mec.common.entity.ImUserModel;
+import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
@@ -70,8 +70,9 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 				employeeDao.insert(employee);
 				//新增用户角色
 				employeeDao.batchAddEmployeeRole(user.getId(),employee.getRoleIds());
+			}else{
+				new BizException("员工已存在");
 			}
-			return;
 		}
 		employee.setPassword(new BCryptPasswordEncoder().encode(ParamEnum.INIT_PASSWORD.getCode().toString()));
 		employee.setUserType(SysUserType.SYSTEM);
@@ -94,11 +95,16 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	public void updateEmployee(Employee employee) {
 		Employee employee1 = employeeDao.get(employee.getId());
 		if(null==employee1){
-			employeeDao.insert(employee);
-		}else{
-			employee.setUserId(employee.getId());
-			employeeDao.update(employee);
+			throw new BizException("员工信息不存在");
 		}
+		employee.setUserId(employee.getId());
+		if(StringUtils.isNotEmpty(employee.getPhone())){
+			SysUser sysUser = sysUserFeignService.queryUserByMobile(employee.getPhone());
+			if(sysUser != null && !sysUser.getId().equals(employee.getUserId())){
+				throw new BizException("手机号已存在");
+			}
+		}
+		employeeDao.update(employee);
 		//删除当前用户角色
 		employeeDao.delEmployeeRole(employee.getId());
 		//新增用户角色

+ 30 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -6,6 +6,7 @@ import com.ym.mec.biz.dal.entity.MusicGroupPurchaseList;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.service.GoodsService;
 import com.ym.mec.biz.service.MusicGroupPurchaseListService;
+import com.ym.mec.common.exception.BizException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -15,9 +16,7 @@ import com.ym.mec.biz.service.StudentPaymentOrderDetailService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 @Service
 public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long, StudentPaymentOrderDetail> implements StudentPaymentOrderDetailService {
@@ -47,13 +46,13 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
     @Override
     public List<Goods> getMusicalList(String musicGroupId) {
         List<StudentPaymentOrderDetail> applyOrder = findApplyOrderSuccess(musicGroupId, DealStatusEnum.SUCCESS);
-        if(applyOrder == null || applyOrder.size()==0){
+        if (applyOrder == null || applyOrder.size() == 0) {
             return null;
         }
         String goodsIdsStr = "";
         for (StudentPaymentOrderDetail studentPaymentOrderDetail : applyOrder) {
             if (studentPaymentOrderDetail.getGoodsIdList() != null && !studentPaymentOrderDetail.getGoodsIdList().isEmpty()) {
-                goodsIdsStr += studentPaymentOrderDetail.getGoodsIdList()+",";
+                goodsIdsStr += studentPaymentOrderDetail.getGoodsIdList() + ",";
             }
         }
         goodsIdsStr = goodsIdsStr.substring(0, goodsIdsStr.length() - 1);
@@ -65,8 +64,8 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
         for (Goods goods : goodies) {
             goods.setSellCount(0);
             for (String goodsIdStr : goodSIdArr) {
-                if(goods.getId().equals(Integer.parseInt(goodsIdStr))){
-                    goods.setSellCount(goods.getSellCount()+1);
+                if (goods.getId().equals(Integer.parseInt(goodsIdStr))) {
+                    goods.setSellCount(goods.getSellCount() + 1);
                 }
             }
         }
@@ -74,10 +73,27 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
     }
 
     @Override
-    public List<Goods> verifyMusicalList(String musicGroupId) {
+    public Boolean verifyMusicalList(String musicGroupId) throws BizException {
+        //乐器采购清单是否确认
+        Map<String, Object> param = new HashMap<>();
+        param.put("musicGroupId", musicGroupId);
+        int count = musicGroupPurchaseListDao.queryCount(param);
+        if (count > 0) {
+            throw new BizException("采购清单已经确认");
+        }
+
         List<Goods> musicalList = getMusicalList(musicGroupId);
         Date date = new Date();
         List<MusicGroupPurchaseList> musicGroupPurchaseLists = new ArrayList<>();
+        //发放清单没有时确认特殊处理
+        if (musicalList == null || musicalList.size() == 0) {
+            musicalList = new ArrayList<>();
+            Goods goods = new Goods();
+            goods.setId(0);
+            goods.setSellCount(0);
+            musicalList.add(goods);
+        }
+
         for (Goods goods : musicalList) {
             MusicGroupPurchaseList musicGroupPurchaseList = new MusicGroupPurchaseList();
             musicGroupPurchaseList.setGoodsId(goods.getId());
@@ -88,20 +104,20 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
             musicGroupPurchaseLists.add(musicGroupPurchaseList);
         }
         musicGroupPurchaseListDao.batchInsert(musicGroupPurchaseLists);
-        return  musicalList;
+        return true;
     }
 
     @Override
     public List<Goods> findApplyOrderGoods(Long orderId) {
         List<StudentPaymentOrderDetail> applyOrderGoods = studentPaymentOrderDetailDao.findApplyOrderGoods(orderId);
 
-        if(applyOrderGoods == null || applyOrderGoods.size()==0){
+        if (applyOrderGoods == null || applyOrderGoods.size() == 0) {
             return null;
         }
         String goodsIdsStr = "";
         for (StudentPaymentOrderDetail studentPaymentOrderDetail : applyOrderGoods) {
             if (studentPaymentOrderDetail.getGoodsIdList() != null && !studentPaymentOrderDetail.getGoodsIdList().isEmpty()) {
-                goodsIdsStr += studentPaymentOrderDetail.getGoodsIdList()+",";
+                goodsIdsStr += studentPaymentOrderDetail.getGoodsIdList() + ",";
             }
         }
         goodsIdsStr = goodsIdsStr.substring(0, goodsIdsStr.length() - 1);
@@ -113,8 +129,8 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
         for (Goods goods : goodies) {
             goods.setSellCount(0);
             for (String goodsIdStr : goodSIdArr) {
-                if(goods.getId().equals(Integer.parseInt(goodsIdStr))){
-                    goods.setSellCount(goods.getSellCount()+1);
+                if (goods.getId().equals(Integer.parseInt(goodsIdStr))) {
+                    goods.setSellCount(goods.getSellCount() + 1);
                 }
             }
         }
@@ -123,6 +139,6 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
 
     @Override
     public List<StudentPaymentOrderDetail> findUserApplyOrder(Integer userId, DealStatusEnum status) {
-        return studentPaymentOrderDetailDao.findUserApplyOrder(userId,status);
+        return studentPaymentOrderDetailDao.findUserApplyOrder(userId, status);
     }
 }

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

@@ -117,6 +117,7 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, Student
 			sysUserCashAccountDetail.setTransType(transType);
 			sysUserCashAccountDetail.setBalance(sysUserCashAccount.getBalance());
 			sysUserCashAccountDetail.setPlatformAccountNo(platformAccountNo);
+			sysUserCashAccountDetail.setCreateTime(date);
 
 			cashAccountDetailService.insert(sysUserCashAccountDetail);
 

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserCashAccountDetailServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
 import java.math.BigDecimal;
+import java.util.Date;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -56,6 +57,7 @@ public class SysUserCashAccountDetailServiceImpl extends BaseServiceImpl<Long, S
 		sysUserCashAccountDetail.setComment(comment);
 		sysUserCashAccountDetail.setTransNo(transNo);
 		sysUserCashAccountDetail.setTransType(transType);
+		sysUserCashAccountDetail.setCreateTime(new Date());
 
 		SysUserCashAccount cashAccount = sysUserCashAccountDao.getLocked(userId);
 		if (cashAccount == null) {

+ 25 - 23
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -228,7 +228,9 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		//上课时间
 		Date classStartDateTime = DateUtil.stringToDate(classDate + " " + startClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
 		Date classEndDateTime = DateUtil.stringToDate(classDate + " " + endClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
-		Date addMinutes = DateUtil.addMinutes(classStartDateTime, advanceSignMinutes * -1);
+		Date classEndDateAdd60Minutes = DateUtil.addMinutes(classEndDateTime, 60);
+		Date add20Minutes = DateUtil.addMinutes(classStartDateTime, advanceSignMinutes * -1);
+		Date add60Minutes = DateUtil.addMinutes(classStartDateTime, -60);
 		//签到
 		if(teacherAttendance.getSignInTime() == null && SignStatusEnum.SIGN_IN.equals(signStatus)){
 			//是否连堂课
@@ -241,11 +243,11 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			boolean isSign = false;
 			if(yesOrNoEnum == YesOrNoEnum.YES){
 				isSign = true;
-			}else if(DateUtil.minutesBetween(addMinutes,date) >= 0 && DateUtil.minutesBetween(date,classStartDateTime) > 0){
-				//正常签到范围(开始前20分钟  ~  开始之前)
+			}else if(DateUtil.minutesBetween(add60Minutes,date) > 0 && DateUtil.minutesBetween(date,add20Minutes) > 0){
+				//正常签到范围(开始前60分钟  ~  开始之前20分钟)
 				isSign = true;
-			}else if(DateUtil.minutesBetween(classStartDateTime,date) > 0 && DateUtil.minutesBetween(date,classEndDateTime) > 0){
-				//异常签到范围(开始之后  ~  结束之前)
+			}else if(DateUtil.minutesBetween(add20Minutes,date) > 0){
+				//异常签到范围(开始之前20分钟)
 				isSign = true;
 				teacherAttendance.setSignInStatus(YesOrNoEnum.NO);
 			}
@@ -264,29 +266,29 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		}
 		//签退
 		if(teacherAttendance.getSignOutTime() == null && SignStatusEnum.SIGN_OUT.equals(signStatus)){
-			//正常签退范围(课程结束后)
-			if(DateUtil.minutesBetween(classEndDateTime,date) > 0){
-				teacherAttendance.setSignOutTime(date);
+			//正常签退范围(课程结束后,1小时内)
+			if(DateUtil.minutesBetween(classEndDateTime,date) > 0 && DateUtil.minutesBetween(date,classEndDateAdd60Minutes) > 0){
 				teacherAttendance.setSignOutStatus(YesOrNoEnum.YES);
-				teacherAttendanceDao.update(teacherAttendance);
-				//教师签退后,给未签到学员添加旷课记录
-				List<StudentAttendance> studentAttendances = studentAttendanceDao.queryNoSignStudentRecord(courseScheduleId);
-				if(studentAttendances != null && studentAttendances.size() > 0){
-					studentAttendances.forEach(e->{
-						e.setTeacherId(userId);
-						e.setStatus(StudentAttendanceStatusEnum.TRUANT);
-						e.setRemark("学员未到,自动补旷课");
-					});
-					studentAttendanceDao.addStudentAttendances(studentAttendances);
-				}
+			}else if(DateUtil.minutesBetween(classEndDateAdd60Minutes,date) > 0){
+				teacherAttendance.setSignOutStatus(YesOrNoEnum.NO);
+			}else {
+				throw new BizException("签退时间异常");
+			}
+			teacherAttendance.setSignOutTime(date);
+			teacherAttendanceDao.update(teacherAttendance);
+			//教师签退后,给未签到学员添加旷课记录
+			List<StudentAttendance> studentAttendances = studentAttendanceDao.queryNoSignStudentRecord(courseScheduleId);
+			if(studentAttendances != null && studentAttendances.size() > 0){
+				studentAttendances.forEach(e->{
+					e.setTeacherId(userId);
+					e.setStatus(StudentAttendanceStatusEnum.TRUANT);
+					e.setRemark("学员未到,自动补旷课");
+				});
+				studentAttendanceDao.addStudentAttendances(studentAttendances);
 			}
 		}
 	}
 
-	private void studentAutoTruant(){
-
-	}
-
 	@Override
 	public PageInfo getTeacherPersonalAttendances(TeacherCloseQueryInfo queryInfo) {
 		PageInfo<TeacherPersonalAttendanceDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());

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

@@ -582,7 +582,7 @@
         LEFT JOIN class_group_relation cgr ON cgr.sub_class_group_id_ = cs.class_group_id_
         LEFT JOIN class_group_teacher_mapper cgtm ON cgtm.class_group_id_ = cs.class_group_id_ AND ta.teacher_id_ = cgtm.user_id_
         <include refid="queryMusicGroupCourseScheduleSql"/>
-        ORDER BY cs.class_date_ DESC,cs.start_class_time_ DESC
+        ORDER BY cs.class_date_,cs.start_class_time_
         <include refid="global.limit"/>
     </select>
 

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupTeacherMapperMapper.xml

@@ -143,6 +143,11 @@
             #{item.classGroupId}
         </foreach>
     </select>
+    <select id="queryTeachingNames" resultType="java.lang.String">
+        SELECT GROUP_CONCAT(su.real_name_) FROM class_group_teacher_mapper cgtm
+        LEFT JOIN sys_user su ON cgtm.user_id_ = su.id_
+        WHERE cgtm.teacher_role_ = 'TEACHING' AND cgtm.class_group_id_ = #{classGroupId}
+    </select>
 
     <!-- 删除对应班级老师关联关系 -->
     <delete id="delClassGroupTeacherMapper">

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

@@ -633,8 +633,7 @@
         <if test="type!=null and type!=''">
             AND cs.type_=#{type}
         </if>
-        GROUP BY
-        cs.class_date_
+        GROUP BY cs.class_date_
     </select>
 
     <select id="getCourseScheduleDate" resultType="java.util.Date">
@@ -1094,7 +1093,7 @@
             cs.leave_student_num_,
             cs.class_date_,
             CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
-            CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
+            CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_
         FROM
             course_schedule cs
             LEFT JOIN course_schedule_teacher_salary csts ON cs.id_=csts.course_schedule_id_ AND csts.teacher_role_='BISHOP'

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

@@ -305,7 +305,7 @@
 		SELECT cg.music_group_id_ `key`,COUNT(cgsm.id_) `value` FROM class_group cg
 		LEFT JOIN class_group_student_mapper cgsm ON cg.id_ = cgsm.class_group_id_
 		WHERE FIND_IN_SET(cg.music_group_id_,#{musicGroupIds})
-		AND cgsm.status_ != 'QUIT' GROUP BY cg.music_group_id_
+		AND cgsm.status_ != 'QUIT' AND cg.type_ != 'MIX' GROUP BY cg.music_group_id_
 	</select>
 
     <select id="queryListByIds" resultMap="MusicGroup" parameterType="list">

+ 0 - 4
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java

@@ -9,7 +9,6 @@ import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
 import com.ym.mec.biz.dal.page.CourseHomeworkQueryInfo;
 import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.StudentAttendanceQueryInfo;
-import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.biz.service.StudentAttendanceService;
 import com.ym.mec.common.controller.BaseController;
@@ -38,9 +37,6 @@ public class TeacherCourseScheduleController extends BaseController {
     private StudentAttendanceService studentAttendanceService;
     @Autowired
     private SysUserFeignService sysUserFeignService;
-    @Autowired
-    private ClassGroupService classGroupService;
-
     @ApiOperation(value = "根据月份获取该月有课的日期")
     @GetMapping("/getCourseScheduleDateByMonth")
     public Object getCourseScheduleDateByMonth(@ApiParam(value = "月份", required = true) @RequestParam Date month,