Kaynağa Gözat

Merge branch 'online1' into Joburgess

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
#	mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
#	mec-web/src/main/resources/bootstrap-test.properties
Joburgess 4 yıl önce
ebeveyn
işleme
158dd7f161
100 değiştirilmiş dosya ile 1070 ekleme ve 557 silme
  1. 31 2
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysMenuServiceImpl.java
  2. 5 4
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysMenuMapper.xml
  3. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  4. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysUserContractsDao.java
  5. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroup4MixDto.java
  6. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroupTeachersDto.java
  7. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/EmployeeDto.java
  8. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageListDto.java
  9. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Goods.java
  10. 12 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java
  11. 12 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupSubjectGoodsGroup.java
  12. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrderDetail.java
  13. 33 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/CourseViewTypeEnum.java
  14. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java
  15. 0 3
      mec-biz/src/main/java/com/ym/mec/biz/service/ContractService.java
  16. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java
  17. 3 1
      mec-biz/src/main/java/com/ym/mec/biz/service/SysUserContractsService.java
  18. 18 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  19. 31 15
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ContractServiceImpl.java
  20. 67 63
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  21. 13 10
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java
  22. 4 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EduPracticeGroupServiceImpl.java
  23. 27 9
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java
  24. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImUserFriendServiceImpl.java
  25. 20 7
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  26. 17 14
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupSubjectPlanServiceImpl.java
  27. 1 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/OrganizationServiceImpl.java
  28. 16 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java
  29. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java
  30. 26 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java
  31. 14 12
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  32. 33 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentVisitServiceImpl.java
  33. 8 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserContractsServiceImpl.java
  34. 29 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultPracticeGroupSalaryServiceImpl.java
  35. 212 0
      mec-biz/src/main/resources/config/contracts/product2.ftl
  36. 17 21
      mec-biz/src/main/resources/config/contracts/product3.ftl
  37. 1 1
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  38. 25 7
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  39. 2 8
      mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml
  40. 7 5
      mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml
  41. 6 2
      mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml
  42. 1 1
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml
  43. 2 2
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml
  44. 4 4
      mec-biz/src/main/resources/config/mybatis/StudentApplyRefundsMapper.xml
  45. 13 9
      mec-biz/src/main/resources/config/mybatis/StudentAttendanceMapper.xml
  46. 2 1
      mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml
  47. 33 1
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  48. 16 1
      mec-biz/src/main/resources/config/mybatis/SysUserContractsMapper.xml
  49. 1 1
      mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml
  50. 6 7
      mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java
  51. 13 13
      mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupRegisterController.java
  52. 2 1
      mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java
  53. 1 1
      mec-student/src/main/resources/bootstrap-test.properties
  54. 6 8
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherController.java
  55. 10 12
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java
  56. 11 13
      mec-web/src/main/java/com/ym/mec/web/controller/CooperationOrganController.java
  57. 18 22
      mec-web/src/main/java/com/ym/mec/web/controller/CourseReviewController.java
  58. 9 11
      mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java
  59. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleTeacherSalaryController.java
  60. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/DegreeController.java
  61. 12 22
      mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java
  62. 81 79
      mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java
  63. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/ExtracurricularExercisesController.java
  64. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/ExtracurricularExercisesReplyController.java
  65. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/FinancialExpenditureController.java
  66. 0 8
      mec-web/src/main/java/com/ym/mec/web/controller/IndexController.java
  67. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/InspectionController.java
  68. 9 11
      mec-web/src/main/java/com/ym/mec/web/controller/InspectionItemController.java
  69. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/InspectionItemPlanController.java
  70. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java
  71. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderController.java
  72. 0 4
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderDetailController.java
  73. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupQuitController.java
  74. 0 4
      mec-web/src/main/java/com/ym/mec/web/controller/OperatingReportController.java
  75. 0 4
      mec-web/src/main/java/com/ym/mec/web/controller/PracticeGroupManageController.java
  76. 5 5
      mec-web/src/main/java/com/ym/mec/web/controller/SchoolController.java
  77. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/SellOrderController.java
  78. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/SporadicChargeInfoController.java
  79. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/StudentApplyRefundsController.java
  80. 9 11
      mec-web/src/main/java/com/ym/mec/web/controller/StudentExtracurricularExercisesSituationController.java
  81. 0 4
      mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java
  82. 0 10
      mec-web/src/main/java/com/ym/mec/web/controller/StudentPaymentOrderController.java
  83. 0 4
      mec-web/src/main/java/com/ym/mec/web/controller/StudentPaymentRouteOrderController.java
  84. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/StudentRechargeController.java
  85. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/StudentRepairController.java
  86. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/StudentWithdrawController.java
  87. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/SubjectChangeController.java
  88. 18 5
      mec-web/src/main/java/com/ym/mec/web/controller/SysUserContractsController.java
  89. 0 4
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherAttendanceController.java
  90. 0 8
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java
  91. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherCourseRewardController.java
  92. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherCourseStatisticsController.java
  93. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherSalaryComplaintsController.java
  94. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/VipGroupActivityController.java
  95. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java
  96. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/VisitController.java
  97. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/WebCourseHomeworkController.java
  98. 0 4
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduPracticeGroupController.java
  99. 0 2
      mec-web/src/main/java/com/ym/mec/web/controller/student/StudentAttendanceController.java
  100. 1 1
      mec-web/src/main/resources/bootstrap-test.properties

+ 31 - 2
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysMenuServiceImpl.java

@@ -33,8 +33,7 @@ public class SysMenuServiceImpl extends BaseServiceImpl<Integer, SysMenu>  imple
 		return sysMenuDao.getMenusByRoleId(roleId);
 	}
 
-	@Override
-	public List<SysMenu> findByUser(MenuQueryInfo menuQueryInfo) {
+	public List<SysMenu> findByUser1(MenuQueryInfo menuQueryInfo) {
 		SysUser sysUser = sysUserDao.get(menuQueryInfo.getUserId());
 		List<SysMenu> sysMenus = null;
 		if(sysUser.getIsSuperAdmin()){
@@ -49,6 +48,36 @@ public class SysMenuServiceImpl extends BaseServiceImpl<Integer, SysMenu>  imple
 		return sysMenus;
 	}
 
+	public List<SysMenu> findByUser(MenuQueryInfo menuQueryInfo) {
+		SysUser sysUser = sysUserDao.get(menuQueryInfo.getUserId());
+		if(sysUser.getIsSuperAdmin()){
+			menuQueryInfo.setUserId(null);
+		}
+		List<SysMenu> sysMenus = sysMenuDao.findByParentId(menuQueryInfo.getParentId(),menuQueryInfo.getDelFlag(),menuQueryInfo.getUserId(),menuQueryInfo.getHid());
+		List<SysMenu> sysMenusAllList = sysMenuDao.findByParentId(null,menuQueryInfo.getDelFlag(),menuQueryInfo.getUserId(),menuQueryInfo.getHid());
+
+		for (SysMenu menu:sysMenus) {
+			menu = getTree1(menu,sysMenusAllList);
+		}
+		return sysMenus;
+	}
+
+	private SysMenu getTree1(SysMenu menu,List<SysMenu> sysMenusAllList){
+		//得到根节点对象
+		//获取子节点list
+		List<SysMenu> sysMenus = sysMenusAllList.stream().filter(e->e.getParentId().equals(menu.getId())).collect(Collectors.toList());
+		//如果存在子节点
+		if(sysMenus != null && sysMenus.size() > 0) {
+			//将子节点list放入父节点对象
+			menu.setSysMenus(sysMenus);
+			//遍历子节点....
+			for (SysMenu sysMenu : sysMenus) {
+				getTree1(sysMenu,sysMenusAllList);
+			}
+		}
+		return menu;
+	}
+
 	private SysMenu getTree(SysMenu menu, String delFlag,Integer userId,Integer hid){
 		//得到根节点对象
 		//获取子节点list

+ 5 - 4
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysMenuMapper.xml

@@ -145,8 +145,9 @@
     </select>
     <sql id="queryTree">
         <where>
+                sm.parent_id_ IS NOT NULL
             <if test="userId != null">
-                sur.user_id_ = #{userId}
+                AND sur.user_id_ = #{userId}
             </if>
             <if test="hid != null">
                 AND sm.hidden_ = #{hid}
@@ -161,9 +162,9 @@
     </sql>
 
     <select id="findByParentId" resultMap="SysMenu">
-        SELECT sm.* FROM sys_user_role sur
-        LEFT JOIN sys_role_menu srm ON sur.role_id_ = srm.role_id_
-        LEFT JOIN sys_menu sm ON srm.menu_id_ = sm.id_
+        SELECT sm.* FROM sys_menu sm
+        LEFT JOIN sys_role_menu srm ON srm.menu_id_ = sm.id_
+        LEFT JOIN sys_user_role sur ON sur.role_id_ = srm.role_id_
         <include refid="queryTree"/>
         GROUP BY sm.id_
         ORDER BY sm.sort_ DESC,sm.id_ DESC

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -269,8 +269,10 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @return
      */
     int updateUser(@Param("id") Integer id,
+                   @Param("name") String name,
                    @Param("realName") String realName,
                    @Param("idCardNo") String idCardNo,
+                   @Param("gender") Integer gender,
                    @Param("certificateType") String certificateType);
 
     /**
@@ -462,6 +464,15 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
     List<MusicGroup> getStudentNormalMusicGroups(@Param("studentIds") Set<Integer> studentIds);
 
     /**
+     * @describe 获取学员最后加入的在读进行中乐团
+     * @author Joburgess
+     * @date 2021/2/28 0028
+     * @param userId:
+     * @return com.ym.mec.biz.dal.entity.MusicGroup
+     */
+    MusicGroup getUserLastNormalMusicGroup(@Param("userId") Integer userId);
+
+    /**
      * @describe 查询学员在读进行中乐团报名信息
      * @author Joburgess
      * @date 2021/2/25 0025

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysUserContractsDao.java

@@ -20,6 +20,15 @@ public interface SysUserContractsDao extends BaseDAO<Long, SysUserContracts> {
     List<SysUserContracts> getUserContractWithType(@Param("userId") Integer userId,
                                                    @Param("contractType") SysUserContracts.ContractType contractType,
                                                    @Param("version") Integer version);
+
+    /**
+     * @describe 批量获取用户协议
+     * @author Joburgess
+     * @date 2021/2/28 0028
+     * @param userIds:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.SysUserContracts>
+     */
+    List<SysUserContracts> getUserAllContract(@Param("userIds") List<Integer> userIds);
 	
     /**
      * 获取最近一次的协议

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

@@ -67,6 +67,17 @@ public class ClassGroup4MixDto implements Cloneable{
     @ApiModelProperty(value = "班级", required = true)
     private ClassGroup classGroup;
 
+    @ApiModelProperty(value = "是否允许0课酬")
+    private Boolean allowZeroSalary = false;
+
+    public Boolean getAllowZeroSalary() {
+        return allowZeroSalary;
+    }
+
+    public void setAllowZeroSalary(Boolean allowZeroSalary) {
+        this.allowZeroSalary = allowZeroSalary;
+    }
+
     public Boolean getOnlyCreateClassGroup() {
         return onlyCreateClassGroup;
     }

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

@@ -17,6 +17,26 @@ public class ClassGroupTeachersDto extends ClassGroup {
 	/** 班级老师课酬 */
 	private List<ClassGroupTeacherSalary> classGroupTeacherSalaryList;
 
+	private String teachingTeacherName;
+
+	private String bishopTeacherName;
+
+	public String getTeachingTeacherName() {
+		return teachingTeacherName;
+	}
+
+	public void setTeachingTeacherName(String teachingTeacherName) {
+		this.teachingTeacherName = teachingTeacherName;
+	}
+
+	public String getBishopTeacherName() {
+		return bishopTeacherName;
+	}
+
+	public void setBishopTeacherName(String bishopTeacherName) {
+		this.bishopTeacherName = bishopTeacherName;
+	}
+
 	//合奏班名称
 	private String mixClassName;
 

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/EmployeeDto.java

@@ -48,6 +48,8 @@ public class EmployeeDto {
     /** 离职日期 */
     private java.util.Date demissionDate;
 
+    private String organIdStr;
+
     @ApiModelProperty(value = "部门ID",required = false)
     private List<Long> organIdList;
 
@@ -58,6 +60,14 @@ public class EmployeeDto {
 
     private String postalCode;
 
+    public String getOrganIdStr() {
+        return organIdStr;
+    }
+
+    public void setOrganIdStr(String organIdStr) {
+        this.organIdStr = organIdStr;
+    }
+
     public String getContactAddress() {
         return contactAddress;
     }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageListDto.java

@@ -83,12 +83,22 @@ public class StudentManageListDto {
     
     private boolean isSignedContract;
 
+    private String contractVersions;
+
     @ApiModelProperty(value = "关心包:0:默认不可用;1:可用;2:已使用;")
     private Integer carePackage;
 
     @ApiModelProperty(value = "加油包:0:默认不可用;1:可用;2:已使用;")
     private Integer comeOnPackage;
 
+    public String getContractVersions() {
+        return contractVersions;
+    }
+
+    public void setContractVersions(String contractVersions) {
+        this.contractVersions = contractVersions;
+    }
+
     public Integer getCarePackage() {
         return carePackage;
     }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Goods.java

@@ -111,6 +111,7 @@ public class Goods {
 	private String complementGoodsIdList;
 
 	/** 辅件列表 */
+	@ApiModelProperty(value = "辅件列表(子商品)",required = false)
 	private List<Goods> goodsList;
 
 	/** 声部列表编号 */

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.entity;
 
+import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.Date;
@@ -76,6 +77,9 @@ public class MusicGroup {
 
 	@ApiModelProperty(value = "老师课酬结算方式",required = false)
 	private SalarySettlementTypeEnum settlementType;
+
+	@ApiModelProperty(value = "课程展现形式",required = false)
+	private CourseViewTypeEnum courseViewType;
 	
 	/**  */
 	private java.util.Date createTime;
@@ -568,4 +572,12 @@ public class MusicGroup {
 	public void setHasVerifyMusicalList(Boolean hasVerifyMusicalList) {
 		this.hasVerifyMusicalList = hasVerifyMusicalList;
 	}
+
+	public CourseViewTypeEnum getCourseViewType() {
+		return courseViewType;
+	}
+
+	public void setCourseViewType(CourseViewTypeEnum courseViewType) {
+		this.courseViewType = courseViewType;
+	}
 }

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupSubjectGoodsGroup.java

@@ -64,6 +64,10 @@ public class MusicGroupSubjectGoodsGroup {
 	private String coursePurchaseTypeJson;
 
 
+	@ApiModelProperty(value = "子商品列表",required = false)
+	private List<Goods> childGoodsList;
+
+
 	/**  */
 	private java.util.Date createTime;
 	
@@ -215,4 +219,12 @@ public class MusicGroupSubjectGoodsGroup {
 	public void setGroupRemissionCourseFee(Integer groupRemissionCourseFee) {
 		this.groupRemissionCourseFee = groupRemissionCourseFee;
 	}
+
+	public List<Goods> getChildGoodsList() {
+		return childGoodsList;
+	}
+
+	public void setChildGoodsList(List<Goods> childGoodsList) {
+		this.childGoodsList = childGoodsList;
+	}
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentOrderDetail.java

@@ -51,6 +51,9 @@ public class StudentPaymentOrderDetail {
 	//减免费用
 	private BigDecimal remitFee;
 
+	@ApiModelProperty(value = "子商品列表",required = false)
+	private List<Goods> childGoodsList;
+
 	public void setId(Long id){
 		this.id = id;
 	}
@@ -143,4 +146,12 @@ public class StudentPaymentOrderDetail {
 	public void setRemitFee(BigDecimal remitFee) {
 		this.remitFee = remitFee;
 	}
+
+	public List<Goods> getChildGoodsList() {
+		return childGoodsList;
+	}
+
+	public void setChildGoodsList(List<Goods> childGoodsList) {
+		this.childGoodsList = childGoodsList;
+	}
 }

+ 33 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/CourseViewTypeEnum.java

@@ -0,0 +1,33 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+public enum CourseViewTypeEnum implements BaseEnum<Integer, CourseViewTypeEnum> {
+    COURSE_lIST(0,"课程详情"),
+    AMR(1,"器乐练习系统");
+
+    private Integer code;
+
+    private String msg;
+
+    CourseViewTypeEnum(Integer code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    @Override
+    public Integer getCode() {
+        return this.code;
+    }}

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

@@ -291,7 +291,7 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param classGroup4MixDtos
      * @return
      */
-    ClassGroup classGroupUpdate(List<ClassGroup4MixDto> classGroup4MixDtos) throws Exception;
+    HttpResponseResult classGroupUpdate(List<ClassGroup4MixDto> classGroup4MixDtos) throws Exception;
 
     /**
      * 班级调整(增加临时班级)

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

@@ -9,9 +9,6 @@ import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
 
 public interface ContractService {
 
-	//协议版本
-	Integer CONTRACT_VERSION=2;
-
 	/**
 	 * 用户注册
 	 * @param userId

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderService.java

@@ -139,4 +139,12 @@ public interface StudentPaymentOrderService extends BaseService<Long, StudentPay
 	 * @return
 	 */
 	List<StudentPaymentOrder> reConfirmOrder(Date startTime,Date endTime);
+
+	/**
+	 * 获取学生报名的订单
+	 * @param studentId
+	 * @param musicGroupId
+	 * @return
+	 */
+	List<StudentPaymentOrderExportDto> getUserApplyOrders(Integer studentId,String musicGroupId);
 }

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/SysUserContractsService.java

@@ -15,7 +15,7 @@ public interface SysUserContractsService extends BaseService<Long, SysUserContra
      * @param contractType:
      * @return java.util.List<com.ym.mec.biz.dal.entity.SysUserContracts>
      */
-    List<SysUserContracts> getUserContractWithType(Integer userId, SysUserContracts.ContractType contractType);
+    List<SysUserContracts> getUserContractWithType(Integer userId, SysUserContracts.ContractType contractType, Integer contractVersion);
 
     /**
      * 获取最近一次的协议
@@ -23,4 +23,6 @@ public interface SysUserContractsService extends BaseService<Long, SysUserContra
      * @return
      */
     SysUserContracts getLatestUserContract(Integer userId);
+
+    List<SysUserContracts> getUserAllContracts(Integer userId);
 }

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

@@ -36,14 +36,17 @@ import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.service.*;
+import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.util.collection.ListUtil;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
 
 import com.alibaba.fastjson.JSON;
@@ -2251,7 +2254,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public ClassGroup classGroupUpdate(List<ClassGroup4MixDto> classGroup4MixDtos) {
+    public HttpResponseResult classGroupUpdate(List<ClassGroup4MixDto> classGroup4MixDtos) {
         Date date = new Date();
         Integer classGroupId = classGroup4MixDtos.get(0).getClassGroupId();
         String musicGroupId = classGroup4MixDtos.get(0).getMusicGroupId();
@@ -2307,7 +2310,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 classGroupTeacherMapperDao.insert(tm);
             }
             imUserFriendService.refreshClassImUserFriend(classGroupId);
-            return classGroup;
+            return BaseController.succeed(classGroup);
         }
         if (classGroup4MixDtos.get(0).getCourseTimes().compareTo(0) <= 0) {
             throw new BizException("排课次数必须大于0");
@@ -2450,6 +2453,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                         courseScheduleTeacherSalary.setUpdateTime(date);
                         courseScheduleTeacherSalaryService.createMusicGroupCourseTeacherSalary(musicGroup, courseSchedule, courseScheduleTeacherSalary);
                         courseScheduleTeacherSalaryList.add(courseScheduleTeacherSalary);
+                        if(!classGroup4MixDto.getAllowZeroSalary()&&BigDecimal.ZERO.compareTo(courseScheduleTeacherSalary.getExpectSalary())==0){
+                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                            return BaseController.failed(HttpStatus.PARTIAL_CONTENT,"当前课程课酬预计为0,是否继续");
+                        }
                     }
                 }
 
@@ -2473,7 +2480,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         if(musicGroup.getStatus() == PROGRESS){
             imUserFriendService.refreshClassImUserFriend(classGroupId);
         }
-        return classGroup;
+        return BaseController.succeed(classGroup);
     }
 
     @Override
@@ -2988,13 +2995,19 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         MapUtil.populateMap(params, queryInfo);
         params.put("groupType",queryInfo.getGroupType().getCode());
 
+        List<ClassGroupTeachersDto> dataList = null;
+        int count = classGroupDao.countClassGroup(params);
+
         if(Objects.nonNull(queryInfo.getLessThenThreeHighOnline())){
             List<Long> lessThenThreeClassGroupIds = classGroupStudentMapperDao.getLessThenThreeClassGroupIds(queryInfo.getOrganIdList());
             params.put("classGroupIds", lessThenThreeClassGroupIds);
+            if(CollectionUtils.isEmpty(lessThenThreeClassGroupIds)){
+                count=0;
+            }else{
+                count = classGroupDao.countClassGroup(params);
+            }
         }
 
-        List<ClassGroupTeachersDto> dataList = null;
-        int count = classGroupDao.countClassGroup(params);
         if (count > 0) {
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());

+ 31 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ContractServiceImpl.java

@@ -5,10 +5,13 @@ import java.io.IOException;
 import java.math.BigDecimal;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
 import java.util.*;
 import java.util.Map.Entry;
 
 import com.ym.mec.auth.api.enums.CertificateTypeEnum;
+import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.enums.CourseViewTypeEnum;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -24,10 +27,6 @@ import org.springframework.util.CollectionUtils;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDao;
-import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
-import com.ym.mec.biz.dal.dao.StudentDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDetailDao;
 import com.ym.mec.biz.dal.dto.StudentInfo;
 import com.ym.mec.biz.dal.entity.CooperationOrgan.OwnershipType;
 import com.ym.mec.biz.dal.entity.Goods;
@@ -85,6 +84,9 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 	private StudentRegistrationService studentRegistrationService;
 
 	@Autowired
+	private StudentRegistrationDao studentRegistrationDao;
+
+	@Autowired
 	private StudentPaymentOrderService studentPaymentOrderService;
 
 	@Autowired
@@ -971,11 +973,6 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 			return false;
 		}
 
-		List<SysUserContracts> userContracts = sysUserContractsService.getUserContractWithType(userId, ContractType.PRODUCT);
-		if(!CollectionUtils.isEmpty(userContracts)){
-			return true;
-		}
-
 		if(StringUtils.isBlank(user.getRealName())||StringUtils.isBlank(user.getIdCardNo())){
 			logger.error("身份信息缺失({})", userId);
 			return false;
@@ -993,7 +990,7 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 		Date date = new Date();
 
 		// 合成freemarker
-		String srcPdfPath = contractBaseDir + "/product/" + dateFormat1.format(date) + "/" + userId + ".pdf";
+		String srcPdfPath = contractBaseDir + "/product/" + dateFormat1.format(date) + "/" + userId + "_" + LocalDateTime.now().getSecond() + ".pdf";
 
 		File srcFile = new File(srcPdfPath);
 
@@ -1013,8 +1010,14 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 
 		params.put("isShowVisualSeal", false);
 
+		CourseViewTypeEnum ownershipType = CourseViewTypeEnum.COURSE_lIST;
+
 		if(StringUtils.isBlank(musicGroupId)){
 			params.put("ownershipType", "OWN");
+			MusicGroup userLastNormalMusicGroup = studentRegistrationDao.getUserLastNormalMusicGroup(userId);
+			if(Objects.nonNull(userLastNormalMusicGroup)){
+				ownershipType = userLastNormalMusicGroup.getCourseViewType();
+			}
 		}else{
 			MusicGroup musicGroup = musicGroupService.get(musicGroupId);
 			if (musicGroup == null) {
@@ -1022,9 +1025,15 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 				return false;
 			}
 			params.put("ownershipType", musicGroup.getOwnershipType().name());
+			ownershipType = musicGroup.getCourseViewType();
 		}
 
-		templateEngine.render(params, "product.ftl", srcFile);
+		List<SysUserContracts> userContracts = sysUserContractsService.getUserContractWithType(userId, ContractType.PRODUCT, CourseViewTypeEnum.COURSE_lIST.equals(ownershipType)?2:3);
+		if(!CollectionUtils.isEmpty(userContracts)){
+			return true;
+		}
+
+		templateEngine.render(params, "product"+(CourseViewTypeEnum.COURSE_lIST.equals(ownershipType)?2:3)+".ftl", srcFile);
 
 		// 生成借款协议PDF
 		try {
@@ -1062,7 +1071,7 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 		sysUserContracts.setType(ContractType.PRODUCT);
 		sysUserContracts.setUrl(pdfFilePath);
 		sysUserContracts.setUserId(userId);
-		sysUserContracts.setVersion(CONTRACT_VERSION);
+		sysUserContracts.setVersion(CourseViewTypeEnum.COURSE_lIST.equals(ownershipType)?2:3);
 
 		sysUserContractsService.insert(sysUserContracts);
 
@@ -1098,17 +1107,25 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 		params.put("studentInfo", studentInfo);
 		params.put("isShowVisualSeal", true);
 
+		Map<String, Object> result = new HashMap<>();
+		result.put("courseViewType", CourseViewTypeEnum.COURSE_lIST);
+
 		if(StringUtils.isBlank(musicGroupId)){
 			params.put("ownershipType", "OWN");
+			MusicGroup userLastNormalMusicGroup = studentRegistrationDao.getUserLastNormalMusicGroup(userId);
+			if(Objects.nonNull(userLastNormalMusicGroup)){
+				result.put("courseViewType", userLastNormalMusicGroup.getCourseViewType());
+			}
 		}else{
 			MusicGroup musicGroup = musicGroupService.get(musicGroupId);
 			if (musicGroup == null) {
 				throw new BizException("乐团信息没找到");
 			}
 			params.put("ownershipType", musicGroup.getOwnershipType().name());
+			result.put("courseViewType", musicGroup.getCourseViewType());
 		}
 
-		templateEngine.render(params, "product.ftl", srcFile);
+		templateEngine.render(params, "product"+(CourseViewTypeEnum.COURSE_lIST.equals(result.get("courseViewType"))?2:3)+".ftl", srcFile);
 
 		String html = "";
 		try {
@@ -1119,9 +1136,8 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 			FileUtils.deleteQuietly(srcFile);
 		}
 
-		List<SysUserContracts> userContractWithType = sysUserContractsService.getUserContractWithType(userId, ContractType.PRODUCT);
+		List<SysUserContracts> userContractWithType = sysUserContractsService.getUserContractWithType(userId, ContractType.PRODUCT, CourseViewTypeEnum.COURSE_lIST.equals(result.get("courseViewType"))?2:3);
 
-		Map<String, Object> result = new HashMap<>();
 		result.put("exists", !CollectionUtils.isEmpty(userContractWithType));
 		result.put("productContract", html);
 		return result;

+ 67 - 63
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -3,9 +3,7 @@ package com.ym.mec.biz.service.impl;
 import static com.ym.mec.biz.dal.enums.GroupType.MUSIC;
 import static com.ym.mec.biz.dal.enums.GroupType.PRACTICE;
 import static com.ym.mec.biz.dal.enums.GroupType.VIP;
-import static com.ym.mec.biz.dal.enums.PracticeGroupType.CHARGE;
-import static com.ym.mec.biz.dal.enums.PracticeGroupType.FREE;
-import static com.ym.mec.biz.dal.enums.PracticeGroupType.TRIAL;
+import static com.ym.mec.biz.dal.enums.PracticeGroupType.*;
 
 import java.lang.reflect.InvocationTargetException;
 import java.math.BigDecimal;
@@ -721,19 +719,22 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 								if (StringUtils.equals(settlementType, "GRADIENT_SALARY")) {
 									salary = courseScheduleTeacherSalary.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? tdms.getMainTeacher90MinSalary() : tdms.getAssistantTeacher90MinSalary();
 								}
-								Integer studentNum = classGroupStudentMapperDao.countClassGroupNormalStudentNum(classGroup.getId());
-								if(Objects.isNull(studentNum)){
-									studentNum = 0;
+								int studentNum = courseScheduleStudentPaymentDao.countCourseOnlyStudentNum(courseSchedule.getId());
+								if(studentNum<=0){
+									studentNum = classGroupStudentMapperDao.countClassGroupNormalStudentNum(courseSchedule.getClassGroupId());
 								}
 								courseScheduleTeacherSalary.setExpectSalary(salary.multiply(new BigDecimal(studentNum)));
 							}
 							//线上小班课
 							if(type == CourseScheduleType.HIGH_ONLINE){
-								Integer studentNum = classGroupStudentMapperDao.countClassGroupNormalStudentNum(classGroup.getId());
-								if(Objects.isNull(studentNum)){
-									studentNum = 0;
+								int studentNum = courseScheduleStudentPaymentDao.countCourseOnlyStudentNum(courseSchedule.getId());
+								if(studentNum<=0){
+									studentNum = classGroupStudentMapperDao.countClassGroupNormalStudentNum(courseSchedule.getClassGroupId());
 								}
 								BigDecimal salary = JSON.parseObject(tdms.getSalaryRuleJson()).getBigDecimal(studentNum+"");
+								if(studentNum<=0){
+									salary = new BigDecimal(0);
+								}
 								courseScheduleTeacherSalary.setExpectSalary(salary);
 							}
 
@@ -1462,6 +1463,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			existCours.setUpdateTime(now);
 			existCours.setStartClassTime(ac.getStartClassTime());
 			existCours.setEndClassTime(DateUtil.addMinutes(existCours.getStartClassTime(), singleClassMinutes));
+
+			if(!DateUtil.isSameDay(existCours.getStartClassTime(), existCours.getEndClassTime())){
+				throw new BizException("课程暂不支持跨天");
+			}
 		}
 
 		Date startDateTime = existCourses.stream().min(Comparator.comparing(CourseSchedule::getStartClassTime)).get().getStartClassTime();
@@ -3025,10 +3030,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             if (Objects.isNull(newCourseSchedule.getGroupType())) {
                 newCourseSchedule.setGroupType(oldCourseSchedule.getGroupType());
             }
-
-            if(CourseStatusEnum.OVER.equals(oldCourseSchedule.getStatus())&&newCourseSchedule.getStartClassTime().compareTo(date)<0){
-            	throw new BizException("调整无效,已结束不能调整至已结束");
-			}
             
             //课程是否已结算
             int settlementNum = courseScheduleTeacherSalaryDao.checkCourseIsSettlement(oldCourseSchedule.getId().intValue());
@@ -3129,6 +3130,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             if (newCourseSchedule.getEndClassTime().before(date)) {
                 newCourseSchedule.setStatus(CourseStatusEnum.OVER);
             }
+
+			if(newCourseSchedule.getStartClassTime().compareTo(date)<0){
+				throw new BizException("调整无效,不能调整至已结束");
+			}
             
 			if (newCourseSchedule.getType() == CourseScheduleType.PRACTICE) {
 				PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(newCourseSchedule.getMusicGroupId()));
@@ -3318,6 +3323,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				// 删除课酬
 				List<Long> courseScheduleIdList = new ArrayList<Long>();
 				courseScheduleIdList.add(courseScheduleId);
+
+				List<CourseScheduleTeacherSalary> oldCourseScheduleTeacherSalaryList = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseScheduleIds);
+				Map<Long, List<CourseScheduleTeacherSalary>> courseSalaryListMap = new HashMap<>();
+				if(!CollectionUtils.isEmpty(oldCourseScheduleTeacherSalaryList)){
+					courseSalaryListMap = oldCourseScheduleTeacherSalaryList.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
+				}
+
 				courseScheduleTeacherSalaryDao.batchDeleteByCourseScheduleIds(courseScheduleIdList);
 
 				for (Integer teacherId : newTeacherIdList) {
@@ -3350,12 +3362,20 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 						ts.setExpectSalary(teacherSalary);
 
 					} else if (newCourseSchedule.getGroupType() == PRACTICE) {
+						SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
+						BigDecimal freeTeacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
+
 						List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
 								.queryByUserId(teacherId);
-						if (teacherDefaultPracticeGroupSalaryList != null && teacherDefaultPracticeGroupSalaryList.size() > 0) {
-							ts.setExpectSalary(teacherDefaultPracticeGroupSalaryList.get(0).getMainTeacherSalary());
-						} else {
-							throw new BizException("请设置老师 的网管课课酬");
+						List<CourseScheduleTeacherSalary> teacherSalaries = courseSalaryListMap.get(ts.getCourseScheduleId());
+						if(!CollectionUtils.isEmpty(teacherSalaries)&&freeTeacherSalary.compareTo(teacherSalaries.get(0).getExpectSalary())==0){
+							ts.setExpectSalary(freeTeacherSalary);
+						}else{
+							if (teacherDefaultPracticeGroupSalaryList != null && teacherDefaultPracticeGroupSalaryList.size() > 0) {
+								ts.setExpectSalary(teacherDefaultPracticeGroupSalaryList.get(0).getMainTeacherSalary());
+							} else {
+								throw new BizException("请设置老师 的网管课课酬");
+							}
 						}
 					}
 					if(ts.getExpectSalary() == null){
@@ -4381,29 +4401,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			params.put("offset", pageInfo.getOffset());
             results = courseScheduleDao.endFindCourseSchedules(params);
             List<Long> courseScheduleIds = results.stream().map(CourseScheduleEndDto::getId).collect(Collectors.toList());
-            //Map<Long, String> studentIdMap = MapUtil.convertIntegerMap(courseScheduleStudentPaymentDao.getStudentIdMap(courseScheduleIds));
             List<Integer> teacherIds=results.stream().filter(t->Objects.nonNull(t.getActualTeacherId())).map(CourseSchedule::getActualTeacherId).collect(Collectors.toList());
 
             List<Map<Integer, String>> nameIdMaps = teacherDao.queryNameByIdList(teacherIds);
             Map<Integer, String> nameIdMap=MapUtil.convertIntegerMap(nameIdMaps);
 
-			//List<Map<Long, String>> coursesSettlementTimeMaps = courseScheduleTeacherSalaryDao.getCoursesSettlementTime(courseScheduleIds);
-			//Map<Long, String> coursesSettlementTimeMap = MapUtil.convertIntegerMap(coursesSettlementTimeMaps);
-
-			/*List<Long> practiceIds = results.stream().filter(e -> PRACTICE.equals(e.getGroupType())).map(e -> Long.valueOf(e.getMusicGroupId())).collect(Collectors.toList());
-			Map<Long, PracticeGroup> idPracticeMap = new HashMap<>();
-			if(!CollectionUtils.isEmpty(practiceIds)){
-				List<PracticeGroup> practiceGroups = practiceGroupDao.getWithIds(practiceIds);
-                idPracticeMap = practiceGroups.stream().collect(Collectors.toMap(PracticeGroup::getId, e->e));
-			}*/
-
 			List<Map<Long, Long>> courseMergeCourseNum = courseScheduleDao.countCourseMergeCourseNum(courseScheduleIds);
 			Map<Long, Long> courseMergeCourseNumMap = new HashMap<>();
 			if(!CollectionUtils.isEmpty(courseMergeCourseNum)){
 				courseMergeCourseNumMap = MapUtil.convertIntegerMap(courseMergeCourseNum);
 			}
 
-
 			//获取班级声部名称
             List<Map<Integer, String>> classGroupSubjectNameMaps = classGroupDao.findClassGroupSubjectNameMaps(courseScheduleIds);
             Map<Integer, String> classGroupSubjectNameMap = MapUtil.convertIntegerMap(classGroupSubjectNameMaps);
@@ -4411,9 +4419,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				result.setTeacher(null);
 				result.setTeacherName(nameIdMap.get(result.getActualTeacherId()));
 				result.setSubjectName(classGroupSubjectNameMap.get(result.getId()));
-				//result.setStudentId(studentIdMap.get(result.getId()));
-				//result.setPracticeGroup(idPracticeMap.get(Long.valueOf(result.getMusicGroupId())));
-				//result.setSettlementTime(coursesSettlementTimeMap.get(result.getId()));
 				result.setIsSettlement(Objects.isNull(result.getSettlementTime())?0:1);
 				if(courseMergeCourseNumMap.containsKey(result.getId())){
 					result.setBeMerged(courseMergeCourseNumMap.get(result.getId())>0?true:false);
@@ -4571,26 +4576,26 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         courseScheduleDao.update(oldCourseSchedule);
 
         PracticeGroup practiceGroup = practiceGroupDao.get(Long.valueOf(oldCourseSchedule.getMusicGroupId()));
-		if(practiceGroup.getType() != TRIAL){
-			if(practiceGroup.getType() != FREE){
+
+		List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedule(courseScheduleId);
+		if(!CollectionUtils.isEmpty(courseScheduleTeacherSalaries)){
+			SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
+			BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
+			for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
+				courseScheduleTeacherSalary.setUserId(teacherId);
+				if(teacherSalary.compareTo(courseScheduleTeacherSalary.getExpectSalary())==0){
+					continue;
+				}
 				List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
 				if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
 					throw new BizException("请设置老师默认课酬");
 				}
-				courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
-			}else{
-				List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedule(courseScheduleId);
-				if(!CollectionUtils.isEmpty(courseScheduleTeacherSalaries)){
-					SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
-					BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
-					for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
-						courseScheduleTeacherSalary.setUserId(teacherId);
-						courseScheduleTeacherSalary.setExpectSalary(teacherSalary);
-					}
-					courseScheduleTeacherSalaryDao.batchUpdate(courseScheduleTeacherSalaries);
-				}
+				courseScheduleTeacherSalary.setExpectSalary(teacherDefaultPracticeGroupSalaries.get(0).getMainTeacherSalary());
 			}
+			courseScheduleTeacherSalaryDao.batchUpdate(courseScheduleTeacherSalaries);
 		}
+
+
         teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
 		//删除申述
 		courseScheduleComplaintsDao.delByCourseScheduleId(courseScheduleId);
@@ -4675,25 +4680,24 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			courseScheduleDao.batchUpdate(courseSchedules);
 			Set<Long> courseScheduleIds = courseSchedules.stream().map(e -> e.getId()).collect(Collectors.toSet());
 			if(practiceGroup.getType() != TRIAL){
-				if(CHARGE == practiceGroup.getType()){
-					List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
-					if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
-						throw new BizException("请设置老师默认课酬");
-					}
-					courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
-				}else{
-					List<CourseSchedule> groupNotStartCourses = courseScheduleDao.findGroupNotStartCourses(practiceGroupId, PRACTICE);
-					if(!CollectionUtils.isEmpty(groupNotStartCourses)){
-						SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
-						BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
-						List<Long> courseIds = groupNotStartCourses.stream().map(CourseSchedule::getId).collect(Collectors.toList());
-						List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseIds);
-						for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
-							courseScheduleTeacherSalary.setUserId(teacherId);
-							courseScheduleTeacherSalary.setExpectSalary(teacherSalary);
+				List<CourseSchedule> groupNotStartCourses = courseScheduleDao.findGroupNotStartCourses(practiceGroupId, PRACTICE);
+				if(!CollectionUtils.isEmpty(groupNotStartCourses)){
+					SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
+					BigDecimal teacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
+					List<Long> courseIds = groupNotStartCourses.stream().map(CourseSchedule::getId).collect(Collectors.toList());
+					List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseIds);
+					for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
+						courseScheduleTeacherSalary.setUserId(teacherId);
+						if(teacherSalary.compareTo(courseScheduleTeacherSalary.getExpectSalary())==0){
+							continue;
 						}
-						courseScheduleTeacherSalaryDao.batchUpdate(courseScheduleTeacherSalaries);
+						List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaries = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
+						if(teacherDefaultPracticeGroupSalaries == null || teacherDefaultPracticeGroupSalaries.size() == 0){
+							throw new BizException("请设置老师默认课酬");
+						}
+						courseScheduleTeacherSalary.setExpectSalary(teacherDefaultPracticeGroupSalaries.get(0).getMainTeacherSalary());
 					}
+					courseScheduleTeacherSalaryDao.batchUpdate(courseScheduleTeacherSalaries);
 				}
 			}
 			teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);

+ 13 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -252,7 +252,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             Teacher teacher = idTeacherMap.get(courseScheduleTeacherSalary.getUserId());
 
             boolean notPositive = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getFormalStaffDate())&&courseScheduleTeacherSalary.getCourseSchedule().getClassDate().compareTo(teacher.getFormalStaffDate())<0;
-            boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.isNull(teacher.getFormalStaffDate())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
+            boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getIsProbationPeriod())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
 
             //如果上课日期在转正日期之前的按80%结算
             if(Objects.isNull(teacher)||notPositive||isProbationPeriod){
@@ -369,7 +369,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             Teacher teacher = idTeacherMap.get(courseScheduleTeacherSalary.getUserId());
 
             boolean notPositive = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getFormalStaffDate())&&courseScheduleTeacherSalary.getCourseSchedule().getClassDate().compareTo(teacher.getFormalStaffDate())<0;
-            boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.isNull(teacher.getFormalStaffDate())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
+            boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getIsProbationPeriod())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
 
             if(Objects.isNull(teacher)||notPositive||isProbationPeriod){
                 expectSalary = expectSalary.multiply(new BigDecimal("0.8"));
@@ -560,7 +560,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                 //未转正
                 boolean notPositive = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getFormalStaffDate())&&courseSchedule.getClassDate().compareTo(teacher.getFormalStaffDate())<0;
                 //试用期
-                boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.isNull(teacher.getFormalStaffDate())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
+                boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getIsProbationPeriod())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
 
                 //如果上课日期在转正日期之前的按80%结算
                 if(Objects.isNull(teacher)||notPositive||isProbationPeriod){
@@ -644,7 +644,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             }
 
             boolean notPositive = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getFormalStaffDate())&&courseSchedule.getClassDate().compareTo(teacher.getFormalStaffDate())<0;
-            boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.isNull(teacher.getFormalStaffDate())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
+            boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getIsProbationPeriod())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
 
             if(Objects.isNull(teacher)||notPositive||isProbationPeriod){
                 teacherSalary = teacherSalary.multiply(new BigDecimal("0.8"));
@@ -1199,22 +1199,25 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                 if(Objects.isNull(salary)){
                     throw new BizException("课酬设置异常");
                 }
-                Integer studentNum = classGroupStudentMapperDao.countClassGroupNormalStudentNum(courseSchedule.getClassGroupId());
-                if(Objects.isNull(studentNum)){
-                    studentNum = 0;
+                int studentNum = courseScheduleStudentPaymentDao.countCourseOnlyStudentNum(courseSchedule.getId());
+                if(studentNum<=0){
+                    studentNum = classGroupStudentMapperDao.countClassGroupNormalStudentNum(courseSchedule.getClassGroupId());
                 }
                 salary = salary.multiply(new BigDecimal(studentNum));
             }
             //线上小班课
             if (courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.HIGH_ONLINE)) {
-                Integer studentNum = classGroupStudentMapperDao.countClassGroupNormalStudentNum(courseSchedule.getClassGroupId());
-                if(Objects.isNull(studentNum)){
-                    studentNum = 0;
+                int studentNum = courseScheduleStudentPaymentDao.countCourseOnlyStudentNum(courseSchedule.getId());
+                if(studentNum<=0){
+                    studentNum = classGroupStudentMapperDao.countClassGroupNormalStudentNum(courseSchedule.getClassGroupId());
                 }
                 if(studentNum>5){
                     studentNum=5;
                 }
                 salary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal(studentNum+"");
+                if(studentNum<=0){
+                    salary = new BigDecimal(0);
+                }
             }
 
             if (courseSchedule.getType().equals(CourseSchedule.CourseScheduleType.MUSIC_NETWORK)) {

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

@@ -710,7 +710,10 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
         courseScheduleDao.batchAddCourseSchedules(practiceCourses);
         TeacherDefaultPracticeGroupSalary teacherDefaultPracticeGroupSalary = teacherDefaultPracticeGroupSalaryDao.findByTeacherAndCourseMinutes(practiceGroupBuyParams.getUserId(),practiceCourseMinutes);
         BigDecimal teacherDefaultSalary=null;
-        if(Objects.nonNull(teacherDefaultPracticeGroupSalary)&&PracticeGroupType.COME_ON_PACKAGE.equals(practiceGroupBuyParams.getType())){
+        if(PracticeGroupType.COME_ON_PACKAGE.equals(practiceGroupBuyParams.getType())){
+            if(Objects.isNull(teacherDefaultPracticeGroupSalary)){
+                throw new BizException("请设置老师课酬");
+            }
             teacherDefaultSalary=teacherDefaultPracticeGroupSalary.getMainTeacherSalary();
         }else{
             teacherDefaultSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());

+ 27 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -1,12 +1,10 @@
 package com.ym.mec.biz.service.impl;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.entity.Organization;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.service.ImUserFriendService;
 import org.apache.commons.lang3.StringUtils;
@@ -18,10 +16,6 @@ import org.springframework.transaction.annotation.Transactional;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.enums.YesOrNoEnum;
-import com.ym.mec.biz.dal.dao.ClassGroupDao;
-import com.ym.mec.biz.dal.dao.EmployeeDao;
-import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
-import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.EmployeeDto;
 import com.ym.mec.biz.dal.dto.EmployeeLevelDto;
 import com.ym.mec.biz.dal.dto.SimpleUserDto;
@@ -42,6 +36,7 @@ import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
 import com.ym.mec.util.collection.MapUtil;
+import org.springframework.util.CollectionUtils;
 
 @Service
 public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  implements EmployeeService {
@@ -62,6 +57,8 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	private ClassGroupDao classGroupDao;
 	@Autowired
 	private ImUserFriendService imUserFriendService;
+	@Autowired
+	private OrganizationDao organizationDao;
 
 	@Override
 	public BaseDAO<Integer, Employee> getDAO() {
@@ -149,6 +146,27 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 			pageInfo.setTotal(count);
 			params.put("offset", pageInfo.getOffset());
 			dataList = employeeDao.queryEmployByOrganId(params);
+			List<Integer> allOrganIds = new ArrayList<>();
+			for (EmployeeDto employeeDto : dataList) {
+				if(StringUtils.isBlank(employeeDto.getOrganIdStr())){
+					continue;
+				}
+				List<Integer> organIds = Arrays.stream(employeeDto.getOrganIdStr().split(",")).map(s -> Integer.valueOf(s)).collect(Collectors.toList());
+				allOrganIds.addAll(organIds);
+			}
+			if(!CollectionUtils.isEmpty(allOrganIds)){
+				List<Organization> allOrgans = organizationDao.findOrgans(allOrganIds);
+				for (EmployeeDto employeeDto : dataList) {
+					if(StringUtils.isBlank(employeeDto.getOrganIdStr())){
+						continue;
+					}
+					List<Integer> organIds = Arrays.stream(employeeDto.getOrganIdStr().split(",")).map(s -> Integer.valueOf(s)).collect(Collectors.toList());
+					List<Organization> organs = allOrgans.stream().filter(organ -> organIds.contains(organ.getId())).collect(Collectors.toList());
+					List<String> organNames = organs.stream().map(Organization::getName).collect(Collectors.toList());
+					employeeDto.setOrganNameList(organNames);
+					employeeDto.setOrganIdList(organIds.stream().mapToLong(Long::valueOf).boxed().collect(Collectors.toList()));
+				}
+			}
 		}
 		if (count == 0) {
 			dataList = new ArrayList<>();

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

@@ -141,6 +141,9 @@ public class ImUserFriendServiceImpl extends BaseServiceImpl<Long, ImUserFriend>
 		//获取班级关联的学员列表
 		Set<Integer> studentIds = classGroupStudentMapperDao.queryStudentIdsByClassGroupId(courseSchedule.getClassGroupId(),null,null);
 		ClassGroup classGroup = classGroupDao.get(courseSchedule.getClassGroupId());
+		if(classGroup == null){
+			return;
+		}
 		GroupType groupType = classGroup.getGroupType();
 		List<ImUserFriend> imUserFriends = saveImUserFriends(studentIds, teacherIds, groupType, classGroup.getMusicGroupId());
 		if(imUserFriends.size() > 0){

+ 20 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1,7 +1,6 @@
 package com.ym.mec.biz.service.impl;
 
-import static com.ym.mec.biz.dal.enums.DealStatusEnum.CLOSE;
-import static com.ym.mec.biz.dal.enums.DealStatusEnum.SUCCESS;
+import static com.ym.mec.biz.dal.enums.DealStatusEnum.*;
 import static com.ym.mec.biz.dal.enums.PaymentStatusEnum.YES;
 
 import java.io.IOException;
@@ -22,6 +21,8 @@ import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.event.source.GroupEventSource;
 import com.ym.mec.biz.service.*;
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
@@ -245,6 +246,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     private SubjectDao subjectDao;
     @Autowired
     private SysUserCashAccountDao sysUserCashAccountDao;
+    @Autowired
+    private ContractService contractService;
 
     @Autowired
     private StudentPreRegistrationDao studentPreRegistrationDao;
@@ -258,6 +261,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
     private SimpleDateFormat sdf_ymdhms = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
+    private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
     @Override
     public BaseDAO<String, MusicGroup> getDAO() {
         return musicGroupDao;
@@ -2164,11 +2169,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             if (oldStudentPaymentOrder != null) {
                 if (oldStudentPaymentOrder.getStatus() == SUCCESS) {
                     throw new BizException("您已支付请勿重复提交");
-                }
-                oldStudentPaymentOrder.setStatus(CLOSE);
-                studentPaymentOrderService.update(oldStudentPaymentOrder);
-                if (oldStudentPaymentOrder.getBalancePaymentAmount() != null && oldStudentPaymentOrder.getBalancePaymentAmount().compareTo(BigDecimal.ZERO) > 0) {
-                    sysUserCashAccountService.updateBalance(oldStudentPaymentOrder.getUserId(), oldStudentPaymentOrder.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "关闭订单");
+                }else if(oldStudentPaymentOrder.getStatus() == ING){
+                    oldStudentPaymentOrder.setStatus(CLOSE);
+                    studentPaymentOrderService.update(oldStudentPaymentOrder);
+                    if (oldStudentPaymentOrder.getBalancePaymentAmount() != null && oldStudentPaymentOrder.getBalancePaymentAmount().compareTo(BigDecimal.ZERO) > 0) {
+                        sysUserCashAccountService.updateBalance(oldStudentPaymentOrder.getUserId(), oldStudentPaymentOrder.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "关闭订单");
+                    }
                 }
             }
         }
@@ -2381,6 +2387,13 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                         studentRegistration.getName(), studentPaymentOrder.getActualAmount());
             }
             studentRegistrationService.updateUserSurplusCourseFee(userId, musicGroupId, studentPaymentOrder.getExpectAmount(), "乐团续费", userId);
+
+            try {
+                contractService.transferProduceContract(userId, musicGroupId);
+            } catch (Exception e) {
+                logger.error("产品协议生成失败", e);
+            }
+
             return true;
         } else {
             if (studentPaymentOrder.getBalancePaymentAmount() != null && studentPaymentOrder.getBalancePaymentAmount().doubleValue() > 0) {

+ 17 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupSubjectPlanServiceImpl.java

@@ -10,6 +10,7 @@ import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.MusicGroupGoodsAndDiscountDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -107,24 +108,26 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
         //乐团乐器及辅件信息
         List<MusicGroupSubjectGoodsGroup> goodsGroups = musicGroupSubjectGoodsGroupService.findGoodsGroup(musicGroupId, subjectId);
 
-        List<Goods> accessoriesList = goodsService.findGoodsBySubId(subjectId, GoodsType.ACCESSORIES.getCode());
-
-        goodsGroups.forEach(goodsGroup -> {
-            if (goodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
-                goodsGroup.getGoodsList().forEach(goods -> {
-                    goods.setGoodsList(accessoriesList);
-                });
+        for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
+            String childGoodIds = "";
+            for (Goods goods : goodsGroup.getGoodsList()) {
+                if (StringUtils.isNotBlank(goods.getComplementGoodsIdList())) {
+                    childGoodIds += StringUtils.isNotBlank(childGoodIds) ? "," : "" + goods.getComplementGoodsIdList();
+                }
             }
-        });
-        //获取声部(科目)下其他商品
-        List<Goods> otherGoods = goodsService.findTypeGoods("OTHER");
+            if(StringUtils.isNotBlank(childGoodIds)) {
+                goodsGroup.setChildGoodsList(goodsDao.findGoodsByIds(childGoodIds));
+            }
+        }
+
 
+        //获取声部(科目)下其他商品
         MusicGroupSubjectGoodsAndInfoDto musicGroupSubjectGoodsAndInfo = new MusicGroupSubjectGoodsAndInfoDto();
         musicGroupSubjectGoodsAndInfo.setMusicGroupSubjectPlan(musicOneSubjectClassPlan);
         musicGroupSubjectGoodsAndInfo.setCourseScheduleInfo(courseForm);
         musicGroupSubjectGoodsAndInfo.setMusicGroupPaymentCalender(musicGroupRegCalender);
         musicGroupSubjectGoodsAndInfo.setMusicGroupSubjectGoodsGroupList(goodsGroups);
-        musicGroupSubjectGoodsAndInfo.setOtherGoods(otherGoods);
+        musicGroupSubjectGoodsAndInfo.setMusicGroup(musicGroup);
         return musicGroupSubjectGoodsAndInfo;
     }
 
@@ -144,14 +147,14 @@ public class MusicGroupSubjectPlanServiceImpl extends BaseServiceImpl<Integer, M
     }
 
     @Override
-    public void addApplyStudentNum(String musicGroupId, Integer subjectId, int num){
+    public void addApplyStudentNum(String musicGroupId, Integer subjectId, int num) {
         boolean flag = false;
         for (int i = 10; i >= 1; i--) {
             MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanDao.getMusicOneSubjectClassPlan(musicGroupId, subjectId);
-            if(musicOneSubjectClassPlan == null){
+            if (musicOneSubjectClassPlan == null) {
                 MusicGroup musicGroup = musicGroupService.get(musicGroupId);
                 Subject subject = subjectService.get(subjectId);
-                throw new BizException("操作失败:{}乐团缺少{}声部",musicGroup.getName(),subject.getName());
+                throw new BizException("操作失败:{}乐团缺少{}声部", musicGroup.getName(), subject.getName());
             }
             int applyNum = musicOneSubjectClassPlan.getApplyStudentNum() == null ? 0 : musicOneSubjectClassPlan.getApplyStudentNum();
             musicOneSubjectClassPlan.setApplyStudentNum(applyNum + num);

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

@@ -45,9 +45,6 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 			throw new BizException("获取用户信息失败");
 		}
 		Integer userId = sysUser.getId();
-		if(sysUser.getIsSuperAdmin()){
-			userId = null;
-		}
 		return organizationDao.queryEmployeeOrgan(userId);
 	}
 
@@ -72,4 +69,4 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 		}
 			return org;
 	}
-}
+}

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -107,6 +107,8 @@ public class StudentManageServiceImpl implements StudentManageService {
     private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
     @Autowired
     private CourseScheduleDao courseScheduleDao;
+    @Autowired
+    private SysUserContractsDao sysUserContractsDao;
 
     @Override
     public PageInfo<StudentManageListDto> findStudentsByOrganId(StudentManageQueryInfo queryInfo) {
@@ -135,6 +137,13 @@ public class StudentManageServiceImpl implements StudentManageService {
         List<StudentListCourseDto> studentListCourseDtoList = studentManageDao.queryStudentRemianCourse(userIds);
         Map<Integer, StudentListCourseDto> StudentListCourseDtoMap = studentListCourseDtoList.stream().collect(Collectors.toMap(StudentListCourseDto::getUserId, studentListCourseDto -> studentListCourseDto));
 
+        //用户协议
+        List<SysUserContracts> userAllContract = sysUserContractsDao.getUserAllContract(new ArrayList<>(userIds));
+        Map<Integer, Set<Integer>> userContractVersionMap = new HashMap<>();
+        if(!CollectionUtils.isEmpty(userAllContract)){
+            userContractVersionMap = userAllContract.stream().collect(Collectors.groupingBy(SysUserContracts::getUserId, Collectors.mapping(SysUserContracts::getVersion, Collectors.toSet())));
+        }
+
         StudentListCourseDto studentListCourseDto = null;
         for (StudentManageListDto dto : dataList) {
             studentListCourseDto = StudentListCourseDtoMap.get(dto.getUserId());
@@ -153,6 +162,13 @@ public class StudentManageServiceImpl implements StudentManageService {
                 dto.setHasCourse(YesOrNoEnum.NO);
                 dto.setHasPracticeCourse(YesOrNoEnum.NO);
             }
+
+            if(userContractVersionMap.containsKey(dto.getUserId())){
+//                dto.setContractVersions(StringUtils.join(userContractVersionMap.get(dto.getUserId()), ","));
+                dto.setIsSignedContract(true);
+            }else{
+                dto.setIsSignedContract(false);
+            }
         }
 
         if (queryInfo.getIsExport()) {

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

@@ -231,6 +231,8 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
                     goods.setSellCount(goods.getSellCount() + 1);
                 }
             }
+            if(StringUtils.isBlank(goods.getComplementGoodsIdList())) continue;
+            goods.setGoodsList(goodsService.findGoodsByIds(goodsIdsStr));
         }
         return goodies;
     }

+ 26 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -11,6 +11,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
@@ -18,10 +20,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.alibaba.fastjson.JSON;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentRouteOrderDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
 import com.ym.mec.biz.dal.dto.PageInfoOrder;
 import com.ym.mec.biz.dal.dto.SporadicChargeInfoDto;
 import com.ym.mec.biz.dal.dto.StudentPaymentOrderDto;
@@ -95,6 +93,8 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
     private IdGeneratorService idGeneratorService;
     @Autowired
     private SysConfigDao sysConfigDao;
+    @Autowired
+    private GoodsDao goodsDao;
 
     @Override
     public BaseDAO<Long, StudentPaymentOrder> getDAO() {
@@ -516,4 +516,26 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
         }
         return orders;
     }
+
+    @Override
+    public List<StudentPaymentOrderExportDto> getUserApplyOrders(Integer studentId, String musicGroupId) {
+        List<StudentPaymentOrderExportDto> orders = studentPaymentOrderDao.getUserApplyOrders(studentId, musicGroupId);
+        for (StudentPaymentOrderExportDto order : orders) {
+            if(order.getOrderDetailList()==null) continue;
+            for (StudentPaymentOrderDetail studentPaymentOrderDetail : order.getOrderDetailList()) {
+                if(studentPaymentOrderDetail.getGoodsList()==null) continue;
+
+                String childGoodIds = "";
+                for (Goods goods : studentPaymentOrderDetail.getGoodsList()) {
+                    if (StringUtils.isNotBlank(goods.getComplementGoodsIdList())) {
+                        childGoodIds += StringUtils.isNotBlank(childGoodIds) ? "," : "" + goods.getComplementGoodsIdList();
+                    }
+                }
+                if(StringUtils.isNotBlank(childGoodIds)) {
+                    studentPaymentOrderDetail.setChildGoodsList(goodsDao.findGoodsByIds(childGoodIds));
+                }
+            }
+        }
+        return orders;
+    }
 }

+ 14 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -645,14 +645,14 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     @Override
     @Transactional(rollbackFor = Exception.class)
     public StudentRegistration queryByUserIdAndMusicGroupId(Integer userId, String musicGroupId) {
-//        StudentRegistration registration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
-//        if (registration == null) {
-//            return null;
-//        }
-//        SysUserCashAccount account = sysUserCashAccountDao.getLocked(userId);
-//        registration.setBalance(account.getBalance());
-//        registration.setTransferStudent(registration.getTemporaryCourseFee() == null ? 0 : 1);
-        return studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
+        StudentRegistration registration = studentRegistrationDao.queryByUserIdAndMusicGroupId(userId, musicGroupId);
+        if (registration == null) {
+            return null;
+        }
+        SysUserCashAccount account = sysUserCashAccountDao.getLocked(userId);
+        registration.setBalance(account==null?BigDecimal.ZERO : account.getBalance());
+        registration.setTransferStudent(0);
+        return registration;
     }
 
     @Override
@@ -672,7 +672,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         }*/
         Date date = new Date();
         String musicGroupId = studentRegistration.getMusicGroupId();
-        
+
         studentRegistration.setCreateTime(date);
         studentRegistration.setUpdateTime(date);
 
@@ -798,7 +798,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             }
             studentPaymentOrder.setExpectAmount(reduce);
             studentPaymentOrderService.insert(studentPaymentOrder);
-            
+
             //当前学员是否以前存在过当前乐团
             if (phoneAndMusicGroupId != null) {
                 studentRegistration.setId(phoneAndMusicGroupId.getId());
@@ -1414,10 +1414,12 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         if (student == null) {
             throw new BizException("用户注册信息不存在,无法更新");
         }
+        student.setName(studentRegistration.getName());
         student.setParentsName(studentRegistration.getParentsName());
         student.setIdCardNo(studentRegistration.getIdCardNo());
-        update(student);
-        studentRegistrationDao.updateUser(student.getUserId(), student.getParentsName(), student.getIdCardNo(), studentRegistration.getCertificateType());
+        student.setGender(studentRegistration.getGender());
+        update(studentRegistration);
+        studentRegistrationDao.updateUser(student.getUserId(),student.getName(), student.getParentsName(), student.getIdCardNo(), student.getGender(),studentRegistration.getCertificateType());
         // 添加用户电子签章账户
         if(CertificateTypeEnum.IDENTITY.getCode().equals(studentRegistration.getCertificateType())){
             contractService.register(student.getUserId(), student.getParentsName(), student.getIdCardNo(), student.getParentsPhone());

+ 33 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentVisitServiceImpl.java

@@ -5,9 +5,8 @@ import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.PageInfoDegree;
 import com.ym.mec.biz.dal.dto.StudentVisitDto;
-import com.ym.mec.biz.dal.entity.MusicGroup;
-import com.ym.mec.biz.dal.entity.StudentRegistration;
-import com.ym.mec.biz.dal.entity.StudentVisit;
+import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.StudentVisitQueryInfo;
 import com.ym.mec.biz.service.StudentVisitService;
 import com.ym.mec.common.dal.BaseDAO;
@@ -18,6 +17,7 @@ import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
 import java.util.stream.Collectors;
@@ -35,6 +35,10 @@ public class StudentVisitServiceImpl extends BaseServiceImpl<Integer, StudentVis
     private StudentRepairDao studentRepairDao;
     @Autowired
     private TeacherDao teacherDao;
+    @Autowired
+    private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
+    @Autowired
+    private StudentAttendanceDao studentAttendanceDao;
 
 
     @Override
@@ -43,10 +47,35 @@ public class StudentVisitServiceImpl extends BaseServiceImpl<Integer, StudentVis
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public StudentVisit addVisit(StudentVisit studentVisit) {
+        Date now = new Date();
         SysUser user = teacherDao.getUser(studentVisit.getStudentId());
         studentVisit.setOrganId(user.getOrganId());
-        studentVisit.setCreateTime(new Date());
+        studentVisit.setCreateTime(now);
+        if(Objects.nonNull(studentVisit.getObjectId()) && "考勤申诉".equals(studentVisit.getPurpose())){
+            CourseScheduleStudentPayment courseScheduleStudentPayment = courseScheduleStudentPaymentDao.get(studentVisit.getObjectId());
+            if(Objects.isNull(courseScheduleStudentPayment)){
+                throw new BizException("学员课程信息不存在");
+            }
+            StudentAttendance studentAttendance = studentAttendanceDao.findByStatusAndCourseScheduleId(courseScheduleStudentPayment.getUserId(), courseScheduleStudentPayment.getCourseScheduleId().intValue());
+            if (studentAttendance == null) {
+                studentAttendance = new StudentAttendance();
+                studentAttendance.setClassGroupId(courseScheduleStudentPayment.getClassGroupId());
+                studentAttendance.setCourseScheduleId(courseScheduleStudentPayment.getCourseScheduleId());
+                studentAttendance.setGroupType(courseScheduleStudentPayment.getGroupType());
+                studentAttendance.setMusicGroupId(courseScheduleStudentPayment.getMusicGroupId());
+                studentAttendance.setUserId(courseScheduleStudentPayment.getUserId());
+                studentAttendance.setCreateTime(now);
+                studentAttendance.setUpdateTime(now);
+                studentAttendance.setVisitFlag(YesOrNoEnum.YES);
+                studentAttendanceDao.insert(studentAttendance);
+            } else {
+                studentAttendance.setVisitFlag(YesOrNoEnum.YES);
+                studentAttendance.setUpdateTime(now);
+                studentAttendanceDao.update(studentAttendance);
+            }
+        }
         studentVisitDao.insert(studentVisit);
         return studentVisit;
     }

+ 8 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserContractsServiceImpl.java

@@ -10,6 +10,7 @@ import com.ym.mec.biz.service.SysUserContractsService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 
+import java.util.Arrays;
 import java.util.List;
 
 @Service
@@ -24,13 +25,17 @@ public class SysUserContractsServiceImpl extends BaseServiceImpl<Long, SysUserCo
 	}
 
 	@Override
-	public List<SysUserContracts> getUserContractWithType(Integer userId, SysUserContracts.ContractType contractType) {
-		return sysUserContractsDao.getUserContractWithType(userId, contractType, ContractService.CONTRACT_VERSION);
+	public List<SysUserContracts> getUserContractWithType(Integer userId, SysUserContracts.ContractType contractType, Integer contractVersion) {
+		return sysUserContractsDao.getUserContractWithType(userId, contractType, contractVersion);
 	}
 
 	@Override
 	public SysUserContracts getLatestUserContract(Integer userId) {
 		return sysUserContractsDao.getLatestUserContract(userId);
 	}
-	
+
+	@Override
+	public List<SysUserContracts> getUserAllContracts(Integer userId) {
+		return sysUserContractsDao.getUserAllContract(Arrays.asList(userId));
+	}
 }

+ 29 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultPracticeGroupSalaryServiceImpl.java

@@ -1,10 +1,14 @@
 package com.ym.mec.biz.service.impl;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
+import com.ym.mec.biz.dal.dao.PracticeGroupDao;
+import com.ym.mec.biz.dal.entity.PracticeGroup;
+import com.ym.mec.biz.dal.entity.SysConfig;
+import com.ym.mec.biz.dal.enums.PracticeGroupType;
+import com.ym.mec.biz.service.SysConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
@@ -18,6 +22,7 @@ import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
 import com.ym.mec.biz.service.TeacherDefaultPracticeGroupSalaryService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import org.springframework.util.CollectionUtils;
 
 @Service
 public class TeacherDefaultPracticeGroupSalaryServiceImpl extends BaseServiceImpl<Long, TeacherDefaultPracticeGroupSalary>  implements TeacherDefaultPracticeGroupSalaryService {
@@ -28,6 +33,12 @@ public class TeacherDefaultPracticeGroupSalaryServiceImpl extends BaseServiceImp
 	@Autowired
 	private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
 
+	@Autowired
+	private PracticeGroupDao practiceGroupDao;
+
+	@Autowired
+	private SysConfigService sysConfigService;
+
 	@Override
 	public BaseDAO<Long, TeacherDefaultPracticeGroupSalary> getDAO() {
 		return teacherDefaultPracticeGroupSalaryDao;
@@ -67,7 +78,17 @@ public class TeacherDefaultPracticeGroupSalaryServiceImpl extends BaseServiceImp
 						userId, typeList, startDate);
 				
 				if (updateTeacherSalaryList != null && updateTeacherSalaryList.size() > 0) {
-					
+
+					Set<Long> groupIds = updateTeacherSalaryList.stream().map(c -> Long.valueOf(c.getMusicGroupId())).collect(Collectors.toSet());
+					List<PracticeGroup> practiceGroups = practiceGroupDao.getWithIds(new ArrayList<>(groupIds));
+					Map<Long, PracticeGroup> idGroupMap = new HashMap<>();
+					if(!CollectionUtils.isEmpty(practiceGroups)){
+						idGroupMap = practiceGroups.stream().collect(Collectors.toMap(PracticeGroup::getId, p->p, (p1, p2)->p1));
+					}
+
+					SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
+					BigDecimal freeTeacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
+
 					Date date = new Date();
 
 					List<CourseScheduleTeacherSalary> list = new ArrayList<CourseScheduleTeacherSalary>();
@@ -75,6 +96,9 @@ public class TeacherDefaultPracticeGroupSalaryServiceImpl extends BaseServiceImp
 					for (CourseScheduleTeacherSalary ts : updateTeacherSalaryList) {
 						if (origSalary != null && origSalary.getMainTeacherSalary().compareTo(ts.getExpectSalary()) == 0
 								&& origSalary.getMainTeacherSalary().compareTo(salary) != 0) {
+							if(freeTeacherSalary.compareTo(ts.getExpectSalary())==0){
+								continue;
+							}
 							ts.setExpectSalary(salary);
 							ts.setUpdateTime(date);
 							list.add(ts);
@@ -92,4 +116,4 @@ public class TeacherDefaultPracticeGroupSalaryServiceImpl extends BaseServiceImp
 		return false;
 	}
 	
-}
+}

+ 212 - 0
mec-biz/src/main/resources/config/contracts/product2.ftl

@@ -0,0 +1,212 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" />
+    <meta http-equiv="Pragma" content="no-cache" />
+    <meta http-equiv="Cache-Control" content="no-cache" />
+    <meta http-equiv="Expires" content="0" />
+    <title>产品与服务协议</title>
+    <style>
+        body { margin: 0; }
+        header {
+            height: 40px;
+            line-height: .40px;
+            color: #000;
+            font-size: 17px;
+            background: #fff;
+            box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.07);
+            text-align: center;
+        }
+        header .back {
+            width: 20px;
+            height: 20px;
+            position: absolute;
+            left: 12px;
+            top: 10px;
+        }
+        .container {
+            padding: 22px 20px 3px;
+            font-size: 14px;
+        }
+        h1 {
+            font-size: 16px;
+            text-align: center;
+            margin-bottom: 8px;
+        }
+        h2 {
+            font-size: 16px;
+            font-weight: bold;
+            padding-top: 15px;
+        }
+        h3 {
+            font-size: 14px;
+            font-weight: bold;
+        }
+        .signature {
+            padding-top: 50px;
+            padding-bottom: 20px;
+        }
+        .signature .sign {
+            position: relative;
+            width: 49%;
+            display: inline-block;
+        }
+        .signature span {
+            display: block;
+        }
+        .signature .cachet {
+            position: absolute;
+            top: -60px;
+            left: 0;
+            width: 150px;
+            height: 150px;
+        }
+        .iInfo {
+            display: flex;
+        }
+        .iInfo span {
+            flex: 1;
+        }
+        .iInfoContent, .iInfoContent span {
+            display: block;
+        }
+
+        .underline {
+            text-decoration: underline;
+        }
+        .bold {
+            font-weight: bold;
+        }
+        .highlight{
+            color: red;
+        }
+    </style>
+</head>
+<body style="font-family:'SimSun'">
+<div class="container">
+    <h1>《产品与服务协议》</h1>
+    <!-- 甲方:深圳大雅乐盟网络教育股份有限公司 <br/> -->
+    <#if ownershipType == 'OWN'>
+        甲方:深圳大雅乐盟网络教育股份有限公司
+    <#else>
+        甲方:武汉长乐长风乐器销售有限公司
+    </#if>
+    <br/>
+    <div style="display: flex;">乙方:
+        <div style="flex: 1 auto;">
+            <div class="iInfo">
+                <span>家长姓名:${studentInfo.realName!}</span>
+                <span>电话:${studentInfo.phone!}</span>
+            </div>
+            <#if studentInfo.certificateType == 'IDENTITY'>
+                <div class="iInfo">
+                    <span>身份证号:${studentInfo.idCardNo!}</span>
+                </div>
+            </#if>
+            <div class="iInfo">
+                <span>学生姓名:${studentInfo.username!}</span>
+            </div>
+            <#if studentInfo.grade?default("")?trim?length gt 1>
+                <div class="iInfo">
+                    <span>所在班级:${studentInfo.grade!} ${studentInfo.clazz!}</span>
+                </div>
+            </#if>
+            <#if studentInfo.subject.name?default("")?trim?length gt 1>
+                <div class="iInfo">
+                    <span>所在声部:${studentInfo.subject.name!}</span>
+                </div>
+            </#if>
+        </div>
+    </div>
+    <div class="underline">(本协议中“乙方“指学员及家长;”乙方学员“指购买甲方产品或服务的学员;”乙方家长“仅指乙方学员的法定监护人。)</div>
+
+    <p class="underline bold">重要须知:在注册或购买使用甲方提供的产品、服务之前,请您务必审慎阅读、充分理解本使用协议各条款内容, 特别是免除或者限制甲方责任的条款、对您权利进行限制的条款、约定争议解决方式和司法管辖的条款等。 限制、免责条款或者其他涉及您重大权益的条款可能以加粗、加下划线等形式提示您重点注意。您注册或购买使用甲方提供的产品和服务,均视为您同意本使用协议,以及同意接受本使用协议的约束。</p>
+    <h2>一、注册及购买</h2>
+    <div >1、无论是否源自甲方建议,乙方选择报名注册加入乐团,或选择购买使用甲方提供的产品和服务,均为乙方自主意愿的表达及独立自主的选择。</div>
+    2、乙方完成所选产品或服务缴费后,甲方向乙方开具加盖公司印章的收款凭据,乙方务必妥善保管。
+
+    <h2>二、乐团及上课规范</h2>
+    1、乙方学员在应服从甲方的管理,遵守甲方的制度。<br />
+    2、乙方学员应按时到达甲方指定上课地点,做好课前准备;如发生迟到、早退或因其他乙方原因未能按时上课的,视为乙方学员放弃该次课程,为避免影响老师后续课程的正常进行,授课老师除完成原定时间安排的授课外,将不再提供额外延长课时,也不会因乙方学员缺席而暂停教学课程。<br />
+    3、乙方学员不得携带任何食品进入教室,所有进食应在课前完成;进入教室后,不得大声喧哗、追逐嬉戏,应当听从授课老师的安排;乙方学员应爱护公共财产和教学设施,严禁在桌椅上刻、划、涂、写等不文明行为;乙方学员未经授课老师同意,不得擅自使用教室内的乐器、音响、电视、空调等器材、设施,如造成此类器材、设施损坏的,乙方应照价赔偿。<br />
+    4、未经授课老师同意,乙方家长不得进入课堂,以免影响老师和学员上课;为保证训练质量及进度,乙方学员应保证按照指导老师或教务老师所提出的要求在家练习,遇到专业问题应及时向指导老师请教,非专业问题可随时向教务老师反映。<br />
+    <span>5、乙方家长应教育及监督乙方学员务必注意个人安全,妥善保管个人财物,对于非甲方原因造成的人身安全事故或财物损失,由乙方自行承担。</span><br />
+    6、对于乐团学员出现以下情形时,甲方有权对乙方学员作出警告,如甲方作出警告后,乙方学员仍然不遵守甲方的管理制度的,甲方有权对其作出退团等处分。<br />
+    &#160;&#160;6.1上课、排练时不服从管理和指导,不遵守纪律,影响其他团员的正常上课、排练;<br />
+    &#160;&#160;6.2一个学期内发生两次及以上旷课行为;<br />
+    &#160;&#160;6.3一个学期内发生两次及以上未按老师要求回传视频作业的情形;<br />
+    &#160;&#160;6.4无特殊原因连续七天不练习,影响团员和乐团的整体水平的。<br />
+
+    <h2>三、请假</h2>
+    1、基于教学进度和质量保证,甲方对于课程延续性有严格要求,因此乙方学员应尽量参加课程,无特殊情况则应避免请假。<br />
+    <div>2、VIP课程学员如有特殊情况需要请假的,应提前4小时以上通过管乐迷App完成请假,否则当次课程将视同发生,系统将自动记录结算课时并扣除相应课程费用。</div>
+    3、VIP学员如遇特殊情况需要长期请假时,可向甲方/授课老师申请办理临时休会。学员可在6个月内申请复学,超过6个月未申请复学的,甲方有权按自动退会处理。<span >VIP课程为一对二课程的,其中一位学员申请临时休会的,还需征得同组另一位学员的同意后方可申请休会。否则将不予受理。</span><br />
+    <span>4、鉴于团课的特殊性,团课学员个人请假,当次课程仍视同发生,系统将自动记录结算课时并扣除相应课程费用。</span><br />
+    5、每期课程均有相对应的有效期,乙方应在有效期内完成课程,10次课一期的,自交费之日起4个月内有效;20次课一期的,自交费之日起8个月内有效;40次课一期的,自交费之日起16个月内有效。<span>如果由于指导老师请假等原因造成课程不能如期完成的,课程有效期将顺延;如课程超出有效期限,乙方所缴纳的课程费用将自动扣除逾期未完成的课时后自动清零。</span><br />
+
+    <h2>四、退费</h2>
+    <span>1、乐器、教辅、配件等,未经签收,自购买缴款之日起15日内提出申请可全额退还,超过上述期限则不予受理退费申请;非因商品本身存在质量问题,一经签收,无论使用与否,均不予退费;</span><br />
+    <span>2、乐保服务,在维修老师下校检查前提出申请可全额退还,下校检查日过后则不予退费;</span><br />
+    <span>3、非个别课程,包括但不限于声部基础课、合奏课、基础技能课、网基课、集训课、VIP课程项下一对二等,自购买缴款之日起15日内提出申请可全额退还,超过上述期限或实际已发生课时消耗的则一律不予受理退费;</span><br />
+    <span>4、正价购买的个别课程,包括但不限于VIP课程项下一对一、网管课等,课程有效期内可申请退费,可退款金额为:购买金额-课时原价*已消耗课时数量;</span><br />
+    <span>5、活动期间以优惠价格购买的个别课程,自购买缴款之日起15日内提出申请可全额退还,超过上述期限或实际已发生课时消耗的则一律不予受理退费;</span><br />
+
+    <h2>五、违约责任</h2>
+    1、当事人一方不履行合同义务或者履行合同义务不符合约定的,均构成违约,守约方有权以书面通知的方式要求违约方纠正其违约行为并采取及时、有效的补救措施消除违约后果,并赔偿守约方因违约方之违约行为而遭致的损失。若违约方在收到守约方的上述通知后5日内未纠正其违约行为的,守约方有权在做出书面通知的情况下,单方解除本协议,违约方应赔偿守约方因此遭致的全部损失。<br />
+    2、乙方应始终维护甲方的知识产权以及品牌形象,本协议期间以及本协议因任何原因失效、被撤销、解除或终止后,均不得直接或间接通过任何公众媒体(包括但不限于传统大众媒体,以及微信、微博、博客、直播平台等社交平台)发表损害甲方(包括但不限于其产品、服务及甲方授课老师)声誉的言论或实施任何类似行为,否则乙方应赔偿甲方因此遭受的全部损失。<br />
+
+    <h2>六、保密条款</h2>
+    1、双方对本协议的条款、本协议的签订及履行情况以及通过签订和履行本协议而获知的对方及对方关联公司的任何信息均负有保密义务。任何一方不得以任何形式透露给第三方(有关法律法规要求和甲乙双方的法律、会计顾问、授权雇员除外),也不得擅自使用。<br />
+    2、本保密义务期限不受本协议期限的限制。本协议失效、被撤销、解除或终止等任何情况下,双方均应遵守本保密义务。<br />
+
+    <h2>七、不可抗力</h2>
+    1、一方遇到不可抗力事件(指甲乙双方无法控制、无法预见或即使预见也无法避免的事件,该事件妨碍、影响或延误任何一方履行本协议的全部或部分义务,该事件包括但不限于自然灾害(如水灾、地震等)、火灾、政府行为、法律或政策变化(含学校合作变化)、战争或其他任何类似事件)时,受影响方应当立即书面通知对方,并告知该不可抗力事件对本协议可能产生的影响,并在该不可抗力事件发生后5日内向对方提供该事件的详细信息及由有关机构出具的解释受影响方因此无法履行本协议项下全部或部分义务的相关证明。<br />
+    2、由于上述不可抗力事件致使受影响方无法履行或无法按时履行本协议项下全部或部分义务的,双方于彼此间均不承担违约责任,但双方应在相互信任的基础上协商解决,尽力减少不可抗力事件对本协议的影响,并采取合理方式进行调整(包括但不限于另行签订补充协议等),尽量避免损失的扩大。<br />
+    3、不可抗力事件消失或结束后,除双方另行协商一致外,受到不可抗力影响的一方应当立即采取措施继续履行本协议,如不可抗力事件持续30日以上的,则任何一方有权以书面通知对方的方式单方解除本协议。<br />
+
+    <h2>八、适用法律及争议解决方式</h2>
+    1、本协议的订立、效力、履行、解释及争议解决均适用中华人民共和国法律。<br />
+    2、因履行本协议发生的一切争议,甲乙双方应友好协商解决;如双方在发生争议后30日内无法通过协商解决时,任何一方有权向甲方所在地有管辖权的人民法院提起诉讼解决。<br />
+
+    <h2>九、其他</h2>
+    1、乙方同意,甲方有权在乙方学习、上课、排练和活动期间对其拍摄照片、视频,甲方对所拍摄的照片、视频享有著作权,乙方同意甲方可合理使用该等照片、视频。<br />
+    2、未经甲方事先书面同意,乙方不得将本课程转让给乙方以外的任何第三方。<br />
+    3、双方确认并同意,本协议的电子版本与纸质版本具有同等法律效力。双方发生争议时,电子合同打印件可作为证据提交。双方通过网络以在线方式签订本协议的 ,则以乙方点击“确认”或“同意”等相关按钮或以电子签名的方式作为对合同内容的同意、确认以及本协议的签署;如双方签订纸质版本协议的,则本协议壹式贰份,甲方盖公章或合同专用章并且乙方签字作为有效签署方式,并且双方各执壹份,每份具有同等法律效力。<br />
+    4、本协议自双方按照本协议约定方式签署之日起生效,有效期至双方履行完本协议约定的全部义务时止。<br />
+    5、本协议未尽事宜或对本协议的任何修改、补充,有双方另行协商后以签订补充协议的方式解决,补充协议与本协议具有同等法律效力;双方没有约定也没有协商一致的,遵照相关法律法规规定执行。<br />
+    6、双方因履行本协议而相互发出或者提供的所有通知、文件、资料,均以本协议中所列明的电话、App推送消息送达,乙方如果变更电话号码的,应当自变更后1日内通知甲方且获得甲方确认,甲方通过电话、App方式无法联系乙方或者甲方认为必要时,甲方也可以通过特快专递至乙方住址的方式向乙方发出上述任何通知、文件、资料等,并在甲方寄出特快专递后第5日视为送达成功。<br />
+
+    <div class="signature">
+        <#if isShowVisualSeal>
+            <#if ownershipType == 'OWN'>
+                <div class="sign">甲方签章:深圳大雅乐盟网络教育股份有限公司<img class="cachet" src="https://daya-online.oss-cn-beijing.aliyuncs.com/website/cachet.png" alt="" />
+                    <span>日期:${.now?string("yyyy年MM月dd日")}</span>
+                </div>
+            <#else>
+                <div class="sign">甲方签章:武汉长乐长风乐器销售有限公司<img class="cachet" src="https://daya-online.oss-cn-beijing.aliyuncs.com/website/clcf.png" alt="" />
+                    <span>日期:${.now?string("yyyy年MM月dd日")}</span>
+                </div>
+            </#if>
+            <div class="sign">乙方签章:${studentInfo.realName!}
+                <span>日期:${.now?string("yyyy年MM月dd日")} </span>
+            </div>
+        <#else>
+            <#if ownershipType == 'OWN'>
+                <div class="sign">甲方签章:深圳大雅乐盟网络教育股份有限公司
+                    <span>日期:${.now?string("yyyy年MM月dd日")}</span>
+                </div>
+            <#else>
+                <div class="sign">甲方签章:武汉长乐长风乐器销售有限公司
+                    <span>日期:${.now?string("yyyy年MM月dd日")}</span>
+                </div>
+            </#if>
+            <div class="sign">乙方签章:
+                <span>日期:${.now?string("yyyy年MM月dd日")} </span>
+            </div>
+        </#if>
+    </div>
+</div>
+</body>
+</html>

+ 17 - 21
mec-biz/src/main/resources/config/contracts/product.ftl → mec-biz/src/main/resources/config/contracts/product3.ftl

@@ -46,7 +46,6 @@
         }
         .signature {
             padding-top: 50px;
-            padding-bottom: 20px;
         }
         .signature .sign {
             position: relative;
@@ -79,9 +78,6 @@
         .bold {
             font-weight: bold;
         }
-        .highlight{
-            color: red;
-        }
     </style>
 </head>
 <body style="font-family:'SimSun'">
@@ -123,29 +119,29 @@
         <div>(本协议中“乙方“指学员及家长;”乙方学员“指购买甲方产品或服务的学员;”乙方家长“仅指乙方学员的法定监护人。)</div>
 
         <p class="underline bold">重要须知:在注册或购买使用甲方提供的产品、服务之前,请您务必审慎阅读、充分理解本使用协议各条款内容, 特别是免除或者限制甲方责任的条款、对您权利进行限制的条款、约定争议解决方式和司法管辖的条款等。 限制、免责条款或者其他涉及您重大权益的条款可能以加粗、加下划线等形式提示您重点注意。您注册或购买使用甲方提供的产品和服务,均视为您同意本使用协议,以及同意接受本使用协议的约束。</p>
-        <p class="underline bold">如无特别说明 ,下列术语在本协议中的定义为:管乐迷平台(下称“本平台”),即管乐迷APP;AMR器乐练习系统(下称“本系统”)指由甲方提供和维护的器乐教学全流程辅助系统。乙方通过该系统完成器乐学习。本系统提供包括媒体资料,老师互动点评,课前中后管理等服务。具体功能以该系统实际提供为准,且该系统将根据实际需要进行调整和增减,乙方使用平台时需遵守本服务协议。</p>
+        <p class="underline bold">如无特别说明 ,下列术语在本协议中的定义为:管乐迷平台(下称“本平台”),即管乐迷APP;AMR器乐练习系统(下称“本系统”)指由甲方提供的器乐教学全流程辅助系统,包括媒体资料,教师点评,课前、课中、课后管理等服务,具体以该系统实际提供为准。该系统将根据实际需要进行调整和增减,乙方使用平台时需遵守本服务协议。</p>
 
         <h2>一、注册及购买</h2>
         <div>1、无论是否源自甲方建议,乙方选择报名注册加入乐团,或选择购买使用甲方提供的产品和服务,均为乙方自主意愿的表达及独立自主的选择。</div>
-        2、乙方完成所选产品或服务缴费后,甲方向乙方开具加盖公司印章的收款凭据,乙方务必妥善保管
+        2、乙方完成所选产品或服务缴费后,乙方务必妥善保管甲方收款后开具的加盖公司印章的收款凭据或电子凭据
 
         <h2>二、乐团及上课规范</h2>
-        1、乙方学员在应服从甲方的管理,遵守甲方的制度。<br />
-        2、乙方学员应按时到达甲方指定上课地点,作好课前准备;如发生迟到、早退或因其他乙方原因未能按时上课的,视为乙方学员放弃该次课程,为避免影响老师后续课程的正常进行,授课老师除完成原定时间安排的授课外,将不再提供额外延长课时,也不会因乙方学员缺席而暂停教学课程。<br />
-        3、乙方学员不得携带任何食品进入教室,所有进食应在课前完成;进入教室后,不得大声喧哗、追逐嬉戏,应当听从授课老师的安排;乙方学员应爱护公共财产和教学设施,严禁在桌椅上刻、划、涂、写等不文明行为;乙方学员未经授课老师同意,不得擅自使用教室内的乐器、音响、电视、空调等器材、设施,如造成此类器材、设施损坏的,乙方应照价赔偿。<br />
-        4、未经授课老师同意,乙方家长不得进入课堂,以免影响老师和学员上课;为保证训练质量及进度,乙方学员应保证按照指导老师或教务老师所提出的要求在家练习,遇到专业问题应及时向指导老师请教,非专业问题可随时向教务老师反映。<br />
-        5、乙方家长应教育及监督乙方学员务必注意个人安全,妥善保管个人财物,对于非甲方原因造成的人身安全事故或财物损失,由乙方自行承担。<br />
-        6、对于乐团学员出现以下情形时,甲方有权对乙方学员作出警告,如甲方作出警告后,乙方学员仍然不遵守甲方的管理制度的,甲方有权对作出退团等处分。<br />
-        &#160;&#160;6.1上课、排练时不服从管理和指导,不遵守纪律,影响其他团员的正常上课、排练;<br />
-        &#160;&#160;6.2一个学期内发生两次及以上旷课行为;<br />
-        &#160;&#160;6.3一个学期内发生两次及以上未按老师要求回传视频作业的情形;<br />
-        &#160;&#160;6.4无特殊原因连续七天不练习,影响团员和乐团的整体水平的。<br />
+				1、乙方学员在应服从甲方的管理,遵守甲方的制度。<br />
+				2、乙方学员应按时到达甲方指定上课地点,作好课前准备;如发生迟到、早退或因其他乙方原因未能按时上课的,视为乙方学员放弃该次课程,为避免影响老师后续课程的正常进行,授课老师除完成原定时间安排的授课外,将不再提供额外延长课时,也不会因乙方学员缺席而暂停教学课程。<br />
+				3、乙方学员不得携带任何食品进入教室,所有进食应在课前完成;进入教室后,不得大声喧哗、追逐嬉戏,应当听从授课老师的安排;乙方学员应爱护公共财产和教学设施,严禁在桌椅上刻、划、涂、写等不文明行为;乙方学员未经授课老师同意,不得擅自使用教室内的乐器、音响、电视、空调等器材、设施,如造成此类器材、设施损坏的,乙方应照价赔偿。<br />
+				4、未经授课老师同意,乙方家长不得进入课堂,以免影响老师和学员上课;为保证训练质量及进度,乙方学员应保证按照指导老师或教务老师所提出的要求在家练习,遇到专业问题应及时向指导老师请教,非专业问题可随时向教务老师反映。<br />
+				5、乙方家长应教育及监督乙方学员务必注意个人安全,妥善保管个人财物,对于非甲方原因造成的人身安全事故或财物损失,由乙方自行承担。<br />
+				6、对于乐团学员出现以下情形时,甲方有权对乙方学员作出警告,如甲方作出警告后,乙方学员仍然不遵守甲方的管理制度的,甲方有权对该团员作出退团等处分。<br />
+                &#160;&#160;6.1上课、排练时不服从管理和指导,不遵守纪律,影响其他团员的正常上课、排练;<br />
+                &#160;&#160;6.2一个学期内发生两次及以上旷课行为;<br />
+                &#160;&#160;6.3一个学期内发生两次及以上未按老师要求回传视频作业的情形;<br />
+                &#160;&#160;6.4无特殊原因连续七天不练习,影响团员和乐团的整体水平的。<br />
 
         <h2>三、请假</h2>
-        1、基于教学进度和质量保证,甲方对于课程延续性有严格要求,因此乙方学员应尽量参加课程,无特殊情况则应避免请假。
-        <div>2、VIP课程学员如有特殊情况需要请假的,应提前4小时以上通过管乐迷APP完成请假,否则当次课程将视同发生,系统将自动记录结算课时并扣除相应课程费用。</div>
-        VIP课程为一对二课程的,其中一位学员申请临时休会的,还需征得同组另一位学员的同意后方可申请休会。否则将不予受理。
-        <div>3、鉴于团体课的特殊性,团体课学员个人请假,当次课程仍视同发生。</div>
+        1、基于教学进度和质量保证,甲方对于课程延续性有严格要求,因此乙方学员应尽量参加课程,无特殊情况则应避免请假。<br />
+        2、VIP课程学员如有特殊情况需要请假的,应提前4小时以上通过管乐迷APP完成请假,否则当次课程将视同发生,系统将自动记录结算课时并扣除相应课程费用。<br />
+        3、VIP学员如遇特殊情况需要长期请假时,可向甲方/授课老师申请办理临时休会。学员可在6个月内申请复学,超过6个月未申请复学的,甲方有权按自动退会处理。VIP课程为一对二课程的,其中一位学员申请临时休会的,还需征得同组另一位学员的同意后方可申请休会。否则将不予受理。<br />
+        4、鉴于团体课的特殊性,团体课学员个人请假,当次课程仍视同发生。<br />
 
         <h2>四、退费</h2>
         1、乐器、教辅、配件等,未经签收,自购买缴款之日起15日内提出申请可全额退还,超过上述期限则不予受理退费申请;非因商品本身存在质量问题,一经签收,无论使用与否,均不予退费;<br />
@@ -172,7 +168,7 @@
         2、因履行本协议发生的一切争议,甲乙双方应友好协商解决;如双方在发生争议后30日内无法通过协商解决时,任何一方有权向甲方所在地有管辖权的人民法院提起诉讼解决。<br />
 
         <h2>九、其他</h2>
-        1、乙方同意,甲方有权在乙方学习、上课、排练和活动期间对其拍摄照片、视频,甲方对所拍摄的照片、视频享有著作权,乙方同意甲方可合理使用该等照片、视频。<br />
+        1、乙方同意,甲方有权在乙方学习、上课、排练和活动期间对其拍摄照片、视频,甲方对所拍摄的照片、视频享有著作权,乙方同意甲方可使用该等照片、视频。<br />
         2、未经甲方事先书面同意,乙方不得将本课程转让给乙方以外的任何第三方。<br />
         3、双方确认并同意,本协议的电子版本与纸质版本具有同等法律效力。双方发生争议时,电子合同打印件可作为证据提交。双方通过网络以在线方式签订本协议的 ,则以乙方点击“确认”或“同意”等相关按钮或以电子签名的方式作为对合同内容的同意、确认以及本协议的签署;如双方签订纸质版本协议的,则本协议壹式贰份,甲方盖公章或合同专用章并且乙方签字作为有效签署方式,并且双方各执壹份,每份具有同等法律效力。<br />
         4、本协议自双方按照本协议约定方式签署之日起生效,有效期至双方履行完本协议约定的全部义务时止。<br />

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

@@ -1416,7 +1416,7 @@
                 AND FIND_IN_SET(mg.organ_id_,#{organIdList})
             </if>
             <if test="search != null and search != ''">
-                AND (mg.name_ LIKE CONCAT('%',#{search},'%') OR cg.music_group_id_ LIKE CONCAT('%',#{search},'%'))
+                AND (cg.id_ LIKE CONCAT('%',#{search},'%') OR cg.name_ LIKE CONCAT('%',#{search},'%') OR mg.name_ LIKE CONCAT('%',#{search},'%') OR cg.music_group_id_ LIKE CONCAT('%',#{search},'%'))
             </if>
             <if test="classGroupIds != null and classGroupIds.size()>0">
                 AND cg.id_ IN

+ 25 - 7
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -2346,17 +2346,29 @@
             s.name_ schoole_name_,
             o.name_ organ_name_,
             CASE WHEN COUNT(sa.id_) > 0 THEN 1 ELSE 0 END isCallNames,
-            CASE WHEN COUNT(ta.id_) > 0 THEN '1' ELSE '0' END is_complaints_
+            CASE WHEN COUNT(CASE WHEN ta.is_complaints_ = 1 THEN 1 ELSE NULL END) > 0 THEN '1' ELSE '0' END is_complaints_
         FROM
             course_schedule cs
             LEFT JOIN school s ON cs.schoole_id_=s.id_
             LEFT JOIN organization o ON cs.organ_id_=o.id_
             LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_
             left join teacher_attendance ta on ta.course_schedule_id_ = cs.id_
-            LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_
+            <if test="searchType == 'ERR_ATTENDANCE'">
+                LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cs.id_
+                LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_ AND cssp.user_id_ = sa.user_id_
+            </if>
+            <if test="searchType != 'ERR_ATTENDANCE'">
+                LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_
+            </if>
             <include refid="endFindCourseSchedulesCondition"/>
-        GROUP BY cs.id_
-        ORDER BY course_start_time_,cs.id_
+        GROUP BY
+            cs.class_date_,
+            cs.start_class_time_,
+            cs.id_
+        ORDER BY
+            cs.class_date_,
+            cs.start_class_time_,
+            cs.id_
         <include refid="global.limit"/>
     </select>
 
@@ -2365,7 +2377,13 @@
         COUNT(DISTINCT cs.id_)
         FROM
         course_schedule cs
-        LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_
+        <if test="searchType == 'ERR_ATTENDANCE'">
+            LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cs.id_
+            LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_ AND cssp.user_id_ = sa.user_id_
+        </if>
+        <if test="searchType != 'ERR_ATTENDANCE'">
+            LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_
+        </if>
         LEFT JOIN teacher_attendance ta on ta.course_schedule_id_ = cs.id_
         LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_
         <include refid="endFindCourseSchedulesCondition"/>
@@ -2485,10 +2503,10 @@
             AND (cs.music_group_id_=#{search} OR cs.id_=#{search} OR cs.name_ LIKE CONCAT( '%', #{search}, '%' ))
         </if>
         <if test="searchType == 'ERR_ATTENDANCE'">
-            AND cs.class_date_>='2021-02-20'
             AND ta.teacher_id_ = cs.actual_teacher_id_
             AND cs.status_ = 'OVER'
-            AND (ta.sign_in_status_ != 1 OR ta.sign_out_status_ != 1 OR sa.status_ != 'NORMAL') AND ta.dispose_content_ IS NULL
+            AND (((ta.sign_in_status_ = 0 OR ta.sign_out_status_ = 0) AND ta.dispose_content_ IS NULL) OR (sa.id_ IS NULL OR (sa.status_ != 'NORMAL' AND sa.visit_flag_ = 0)))
+            AND (ta.dispose_content_ IS NOT NULL OR (ta.sign_in_status_ IS NOT NULL AND ta.sign_out_status_ IS NOT NULL))
             AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_)
         </if>
         <if test="searchType == 'NO_ATTENDANCE'">

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

@@ -185,21 +185,16 @@
         <result property="demissionDate" column="demission_date_"/>
         <result property="contactAddress" column="contact_address_"/>
         <result property="postalCode" column="postal_code_"/>
+        <result property="organIdStr" column="organ_id_str_"/>
         <collection property="roleNames" ofType="string" javaType="list">
             <result column="role_name_"/>
         </collection>
-        <collection property="organNameList" ofType="string" javaType="list">
-            <result column="organ_name_list_"/>
-        </collection>
         <collection property="roleIds" ofType="integer" javaType="list">
             <result column="role_id_"/>
         </collection>
-        <collection property="organIdList" ofType="Long" javaType="list">
-            <result column="organ_id_list_"/>
-        </collection>
     </resultMap>
     <select id="queryEmployByOrganId" resultMap="EmployeeDto">
-        SELECT ue.*,o.name_ organ_name_list_,o.id_ organ_id_list_,sr.role_name_,sr.id_ role_id_
+        SELECT ue.*,ue.organ_id_ organ_id_str_,sr.role_name_,sr.id_ role_id_
         FROM (SELECT e.user_id_,su.real_name_,su.gender_,su.phone_,su.user_type_,e.job_nature_,su.lock_flag_,
         e.entry_date_,e.demission_date_,e.organ_id_list_ organ_id_,e.create_time_,e.contact_address_,e.postal_code_
         FROM employee e
@@ -230,7 +225,6 @@
         ORDER BY e.create_time_ DESC <include refid="global.limit"/>) ue
         LEFT JOIN sys_user_role sur ON sur.user_id_ = ue.user_id_
         LEFT JOIN sys_role sr ON sr.id_ = sur.role_id_
-        LEFT JOIN organization o ON FIND_IN_SET(o.id_,ue.organ_id_)
     </select>
 
     <select id="queryEmployByOrganIdCount" resultType="int">

+ 7 - 5
mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml

@@ -643,7 +643,7 @@
 		WHERE
 		mg.status_ = 'PROGRESS'
 		AND DATE_FORMAT(NOW(),'%Y-%m-%d') >= DATE_FORMAT(mgpc.payment_valid_start_date_,'%Y-%m-%d')
-		AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpcd.expect_amount_ > 0
+		AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpcd.expect_amount_ > 0 AND mgpc.batch_no_ IS NOT NULL AND mgpc.pay_user_type_ = 'STUDENT'
 		<if test="organIds!=null and organIds.size()>0">
 			AND mg.organ_id_ IN
 			<foreach collection="organIds" item="organId" open="(" close=")" separator=",">
@@ -711,10 +711,12 @@
     <select id="getAttendanceError" resultType="int">
 		SELECT COUNT(DISTINCT c.id_) FROM (SELECT cs.id_ FROM course_schedule cs
 		LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
-		LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_
+		LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cs.id_
+		LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cssp.course_schedule_id_ AND cssp.user_id_ = sa.user_id_
 		WHERE ta.teacher_id_ = cs.actual_teacher_id_
-		AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_ >= #{startTime} AND cs.class_date_>='2021-02-20'
-		AND (ta.sign_in_status_ != 1 OR ta.sign_out_status_ != 1 OR sa.status_ != 'NORMAL') AND ta.dispose_content_ IS NULL
+		AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_ >= '2021-02-01'
+		AND (((ta.sign_in_status_ = 0 OR ta.sign_out_status_ = 0) AND ta.dispose_content_ IS NULL) OR (sa.id_ IS NULL OR (sa.status_ != 'NORMAL' AND sa.visit_flag_ = 0)))
+		AND (ta.dispose_content_ IS NOT NULL OR (ta.sign_in_status_ IS NOT NULL AND ta.sign_out_status_ IS NOT NULL))
 		AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_)
 		<if test="organIds != null and organIds != ''">
 			AND FIND_IN_SET(cs.organ_id_,#{organIds})
@@ -725,7 +727,7 @@
 		SELECT COUNT(DISTINCT cs.id_) FROM course_schedule cs
 		LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
 		WHERE ta.teacher_id_ = cs.actual_teacher_id_
-		AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_ >= #{startTime}
+		AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_>='2021-02-01'
 		AND ta.sign_in_time_ IS NULL AND ta.sign_out_time_ IS NULL AND ta.dispose_content_ IS NULL
 		AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_)
 		<if test="organIds != null and organIds != ''">

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

@@ -40,6 +40,7 @@
         <result column="payment_valid_end_date_" property="paymentValidEndDate"/>
         <result column="payment_pattern_" property="paymentPattern"/>
         <result column="is_classroom_lessons_" property="isClassroomLessons"/>
+        <result column="course_view_type_" property="courseViewType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -72,7 +73,7 @@
          bill_start_date_, improvent_classes_num_, enroll_classes_, payment_expire_date_, is_extra_class_,
          settlement_type_, cooperation_organ_id_, enlightenment_course_time_,
          parent_meeting_time_, img_, director_user_id_, is_classroom_lessons_, memo_, expect_start_group_date_,
-         ownership_type_, repair_user_id_, del_flag_,payment_valid_start_date_,payment_valid_end_date_,payment_pattern_)
+         ownership_type_, repair_user_id_, del_flag_,payment_valid_start_date_,payment_valid_end_date_,payment_pattern_,course_view_type_)
         VALUES (#{id}, #{name}, #{organId}, #{schoolId}, #{applyExpireDate},#{preApplyExpireDate}, #{teamTeacherId}, #{educationalTeacherId},
                 #{chargeTypeId}, #{courseForm}, now(), now(),
                 #{status, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{billStartDate},
@@ -82,7 +83,7 @@
                 #{cooperationOrganId}, #{enlightenmentCourseTime}, #{parentMeetingTime}, #{img}, #{directorUserId},
                 #{isClassroomLessons}, #{memo}, #{expectStartGroupDate},
                 #{ownershipType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{repairUserId},
-                #{delFlag},#{paymentValidStartDate},#{paymentValidEndDate},#{paymentPattern})
+                #{delFlag},#{paymentValidStartDate},#{paymentValidEndDate},#{paymentPattern},#{courseViewType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -172,6 +173,9 @@
             <if test="groupMemberNum != null">
                 group_member_num_ = #{groupMemberNum},
             </if>
+            <if test="courseViewType != null">
+                course_view_type_ = #{courseViewType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
             <if test="memo != null">
                 memo_ = #{memo},
             </if>

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

@@ -425,7 +425,7 @@
 		<where>
 			mg.status_ = 'PROGRESS'
 			AND DATE_FORMAT( NOW(), '%Y-%m-%d' ) >= DATE_FORMAT( mgpc.payment_valid_start_date_, '%Y-%m-%d' )
-			AND mgpcd.payment_status_ = 'NON_PAYMENT'
+			AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpc.batch_no_ IS NOT NULL AND mgpc.pay_user_type_ = 'STUDENT'
 			AND mgpcd.expect_amount_ > 0
 			<if test="organIds!=null and organIds.size()>0">
 				AND mg.organ_id_ IN

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

@@ -534,7 +534,7 @@
         AND mgpc.status_ IN ('NO','OPEN','OVER')
         AND DATE_FORMAT(NOW(),'%Y-%m-%d') >= DATE_FORMAT(mgpc.payment_valid_start_date_,'%Y-%m-%d')
         LEFT JOIN music_group_payment_calender_detail mgpcd ON mgpc.id_ = mgpcd.music_group_payment_calender_id_ AND mgpcd.user_id_ = #{userId}
-        WHERE FIND_IN_SET(mg.id_,#{musicGroupId}) AND mgpc.batch_no_ IS NOT NULL
+        WHERE FIND_IN_SET(mg.id_,#{musicGroupId}) AND mgpc.batch_no_ IS NOT NULL AND mgpc.pay_user_type_ = 'STUDENT'
         GROUP BY mg.id_
     </select>
     <select id="queryUserCoursePaymentStatus" resultType="java.util.Map">
@@ -545,7 +545,7 @@
         AND mgpc.status_ IN ('NO','OPEN','OVER')
         AND DATE_FORMAT(NOW(),'%Y-%m-%d') >= DATE_FORMAT(mgpc.payment_valid_start_date_,'%Y-%m-%d')
         LEFT JOIN music_group_payment_calender_detail mgpcd ON mgpc.id_ = mgpcd.music_group_payment_calender_id_
-        WHERE mg.id_ = #{musicGroupId} AND mgpcd.expect_amount_ > 0 AND mgpc.batch_no_ IS NOT NULL AND mgpcd.user_id_ IN
+        WHERE mg.id_ = #{musicGroupId} AND mgpcd.expect_amount_ > 0 AND mgpc.batch_no_ IS NOT NULL AND mgpc.pay_user_type_ = 'STUDENT' AND mgpcd.user_id_ IN
         <foreach collection="studentId" item="item" separator="," open="(" close=")">
             #{item}
         </foreach>

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

@@ -90,10 +90,10 @@
         SELECT sar.*,spo.expect_amount_,spo.actual_amount_,u.username_ FROM student_apply_refunds sar left join student_payment_order spo on sar.orig_payment_order_id_ = spo.id_ left join sys_user u on sar.user_id_ = u.id_
         where 1=1 
         <if test="startTime != null">
-            and sar.create_time_ &gt;= #{startTime}
+            and DATE_FORMAT(sar.create_time_,"%Y-%m-%d") &gt;= DATE_FORMAT(#{startTime},"%Y-%m-%d")
         </if>
         <if test="endTime != null">
-            and sar.create_time_ &lt;= #{endTime}
+            and DATE_FORMAT(sar.create_time_,"%Y-%m-%d") &lt;= DATE_FORMAT(#{endTime},"%Y-%m-%d")
         </if>
         <if test="status!=null and status!=''">
             and sar.status_=#{status}
@@ -109,10 +109,10 @@
 		SELECT count(1) FROM student_apply_refunds sar left join student_payment_order spo on sar.orig_payment_order_id_ = spo.id_ left join sys_user u on sar.user_id_ = u.id_
 		where 1=1 
         <if test="startTime != null">
-            and sar.create_time_ &gt;= #{startTime}
+            and DATE_FORMAT(sar.create_time_,"%Y-%m-%d") &gt;= DATE_FORMAT(#{startTime},"%Y-%m-%d")
         </if>
         <if test="endTime != null">
-            and sar.create_time_ &lt;= #{endTime}
+            and DATE_FORMAT(sar.create_time_,"%Y-%m-%d") &lt;= DATE_FORMAT(#{endTime},"%Y-%m-%d")
         </if>
         <if test="status!=null and status!=''">
             and sar.status_=#{status}

+ 13 - 9
mec-biz/src/main/resources/config/mybatis/StudentAttendanceMapper.xml

@@ -56,15 +56,15 @@
             keyColumn="id" keyProperty="id">
         INSERT INTO student_attendance
         (group_type_,music_group_id_,class_group_id_,course_schedule_id_,user_id_,teacher_id_,status_,create_time_,
-        update_time_,remark_,current_class_times_,sign_in_time_,sign_out_time_,current_schedule_id_)
+        update_time_,remark_,current_class_times_,sign_in_time_,sign_out_time_,current_schedule_id_,visit_flag_)
         VALUES(#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{musicGroupId},#{classGroupId},
         #{courseScheduleId},#{userId},#{teacherId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},now(),now(),
-        #{remark},#{currentClassTimes},#{signInTime},#{signOutTime},#{currentScheduleId})
+        #{remark},#{currentClassTimes},#{signInTime},#{signOutTime},#{currentScheduleId},#{visitFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
     </insert>
 
     <insert id="addStudentAttendances" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id_">
       INSERT INTO student_attendance (group_type_, music_group_id_, class_group_id_, course_schedule_id_,
-      user_id_, teacher_id_, status_, create_time_,update_time_, remark_ ,current_class_times_,sign_in_time_,sign_out_time_,current_schedule_id_)
+      user_id_, teacher_id_, status_, create_time_,update_time_, remark_ ,current_class_times_,sign_in_time_,sign_out_time_,current_schedule_id_,visit_flag_)
       VALUES
 	  <foreach collection="list" item="studentAttendance" separator=",">
           (#{studentAttendance.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
@@ -72,7 +72,7 @@
           #{studentAttendance.userId},#{studentAttendance.teacherId},
           #{studentAttendance.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},now(),#{studentAttendance.updateTime},
           #{studentAttendance.remark},#{studentAttendance.currentClassTimes},
-          #{studentAttendance.signInTime},#{studentAttendance.signOutTime},#{studentAttendance.currentScheduleId})
+          #{studentAttendance.signInTime},#{studentAttendance.signOutTime},#{studentAttendance.currentScheduleId},#{studentAttendance.visitFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
       </foreach>
     </insert>
 
@@ -83,6 +83,9 @@
             <if test="status != null">
                 status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
+            <if test="visitFlag != null">
+                visit_flag_ = #{visitFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
             <if test="currentScheduleId != null">
                 current_schedule_id_ = #{currentScheduleId},
             </if>
@@ -125,6 +128,9 @@
     	<foreach collection="list" item="item" index="index" open="" close="" separator=";">
 	        update student_attendance
 	        <set>
+	            <if test="item.visitFlag != null">
+	                visit_flag_ = #{item.visitFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+	            </if>
 	            <if test="item.status != null">
 	                status_ = #{item.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 	            </if>
@@ -490,13 +496,12 @@
                CASE WHEN sa.status_ IS NULL THEN 'TRUANT' ELSE sa.status_ END status_,
         su.username_,su.phone_,su.avatar_,cs.teach_mode_,cs.type_ course_type_,o.name_ organ_name_,tu.real_name_ teacher_name_,cs.name_ course_schedule_name_,cs.status_ course_status_,
         cs.actual_teacher_id_ teacher_id_,cs.class_date_ ,cs.start_class_time_,cs.end_class_time_ ,cs.new_course_id_,
-        CASE WHEN MAX(sv.id_) IS NULL THEN 0 ELSE 1 END visitFlag
+        CASE WHEN sa.visit_flag_ IS NULL THEN 0 ELSE sa.visit_flag_ END visitFlag
         FROM course_schedule_student_payment cssp left join course_schedule cs on cs.id_ = cssp.course_schedule_id_
         left join student_attendance sa on cssp.course_schedule_id_ = sa.course_schedule_id_ and cssp.user_id_ = sa.user_id_
         LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
         left join sys_user tu on tu.id_ = cs.actual_teacher_id_
         left join organization o on o.id_ = cs.organ_id_
-        LEFT JOIN student_visit sv ON cssp.id_ = sv.object_id_
         <include refid="findStudentAttendanceSql"/>
         GROUP BY cssp.id_
         ORDER BY CONCAT(cs.class_date_, ' ', cs.start_class_time_) ASC
@@ -507,10 +512,10 @@
             cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_)
             <if test="visitFlag != null">
                 <if test="visitFlag == 1">
-                    AND sv.id_ IS NOT NULL
+                    AND sa.visit_flag_ = 1
                 </if>
                 <if test="visitFlag == 0">
-                    AND sv.id_ IS NULL
+                    AND (sa.visit_flag_ = 0 OR sa.visit_flag_ IS NULL)
                 </if>
             </if>
             <if test="courseScheduleId != null">
@@ -564,7 +569,6 @@
         FROM course_schedule_student_payment cssp
         left join course_schedule cs on cs.id_ = cssp.course_schedule_id_
         left join student_attendance sa on cssp.course_schedule_id_ = sa.course_schedule_id_ and cssp.user_id_ = sa.user_id_
-        LEFT JOIN student_visit sv ON cssp.id_ = sv.object_id_
         <include refid="findStudentAttendanceSql"/>
     </select>
     <select id="findByCourseId" resultMap="StudentAttendance">

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

@@ -854,13 +854,14 @@
             <collection property="goodsList" ofType="com.ym.mec.biz.dal.entity.Goods">
                 <result column="goods_id" property="id"/>
                 <result column="goods_name" property="name"/>
+                <result column="complementGoodsIdList" property="complementGoodsIdList"/>
             </collection>
         </collection>
     </resultMap>
     <select id="getUserApplyOrders" resultMap="applyOrderAndDetail" parameterType="map">
         SELECT spo.*,spod.id_ detail_id_,spod.type_ detail_type_,spod.price_
         detail_price_,spod.kit_group_purchase_type_ detail_kit_group_purchase_type_,
-        g.id_ goods_id, g.name_ goods_name
+        g.id_ goods_id, g.name_ goods_name,g.complement_goods_id_list_ complementGoodsIdList
         FROM student_payment_order spo
         LEFT JOIN student_payment_order_detail spod on spo.id_ = spod.payment_order_id_
         LEFT JOIN goods g on FIND_IN_SET(g.id_,spod.goods_id_list_)

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

@@ -619,7 +619,26 @@
     </select>
 
     <update id="updateUser">
-        UPDATE sys_user SET real_name_ = #{realName},id_card_no_=#{idCardNo},certificate_type_=#{certificateType},update_time_=NOW() WHERE id_=#{id}
+        UPDATE sys_user
+        <set>
+            <if test="name != null">
+                username_ = #{name},
+            </if>
+            <if test="realName != null">
+                real_name_ = #{realName},
+            </if>
+            <if test="idCardNo != null">
+                id_card_no_ = #{idCardNo},
+            </if>
+            <if test="certificateType != null">
+                certificate_type_ = #{certificateType},
+            </if>
+            <if test="gender != null">
+                gender_ = #{gender},
+            </if>
+            update_time_=NOW()
+            WHERE id_=#{id}
+        </set>
     </update>
     <update id="updateCurrentClass" parameterType="com.ym.mec.biz.dal.entity.StudentRegistration">
         UPDATE student_registration sr SET sr.current_grade_ = #{currentGrade},sr.current_class_ = #{currentClass},sr.current_grade_date_= NOW(),sr.update_time_ = NOW()
@@ -778,6 +797,19 @@
             </foreach>
         ORDER BY mg.create_time_ DESC
     </select>
+    <select id="getUserLastNormalMusicGroup" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.MusicGroup">
+        SELECT DISTINCT
+            mg.*
+        FROM
+            student_registration sr
+            LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
+        WHERE
+            mg.del_flag_ = 0
+            AND mg.status_ = 'PROGRESS'
+            AND sr.music_group_status_ = 'NORMAL'
+            AND sr.user_id_ = #{userId}
+        ORDER BY sr.create_time_ DESC LIMIT 1
+    </select>
     <select id="getStudentNormalRegistration" resultMap="StudentRegistration">
         SELECT
                sr.*

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

@@ -86,10 +86,25 @@
 	</select>
 
 	<select id="getUserContractWithType" resultMap="SysUserContracts">
-		SELECT * FROM sys_user_contracts WHERE user_id_=#{userId} AND type_=#{contractType} AND version_=#{version}
+		SELECT * FROM sys_user_contracts
+		WHERE user_id_=#{userId}
+		  AND type_=#{contractType}
+		  <if test="version!=null">
+			  AND version_=#{version}
+		  </if>
 	</select>
 
 	<select id="getLatestUserContract" resultMap="SysUserContracts">
 		SELECT * FROM sys_user_contracts WHERE user_id_=#{userId} order by id_ desc limit 0,1
 	</select>
+
+	<select id="getUserAllContract" resultMap="SysUserContracts">
+		SELECT * FROM sys_user_contracts
+		WHERE
+		    version_!=1
+		    AND user_id_ IN
+			<foreach collection="userIds" item="userId" open="(" close=")" separator=",">
+				#{userId}
+			</foreach>
+	</select>
 </mapper>

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

@@ -574,7 +574,7 @@
                 AND ta.complaints_status_ = #{complaintsStatus}
             </if>
             <if test="search != null and search != ''">
-                AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR ta.teacher_id_ = #{search})
+                AND (ta.course_schedule_id_ = #{search} OR su.real_name_ LIKE CONCAT('%',#{search},'%') OR ta.teacher_id_ = #{search})
             </if>
             <if test="courseScheduleStartDate != null and courseScheduleStartDate != ''">
                 AND cs.class_date_ >= #{courseScheduleStartDate}

+ 6 - 7
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -5,11 +5,7 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 
 import javax.annotation.Resource;
 
@@ -161,9 +157,9 @@ public class MusicGroupController extends BaseController {
         if (musicGroup == null) {
             return failed("乐团不存在");
         }
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
 
-        if (userId == null) {
-            SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser != null && Objects.nonNull(sysUser.getId())) {
             userId = sysUser.getId();
         }
 
@@ -196,6 +192,9 @@ public class MusicGroupController extends BaseController {
         }
         studentRegistration.setOwnershipType(musicGroup.getOwnershipType());
         studentRegistration.setChargeTypeId(musicGroup.getChargeTypeId());
+        if(sysUser != null){
+            studentRegistration.setGender(sysUser.getGender());
+        }
 
         return succeed(studentRegistration);
     }

+ 13 - 13
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupRegisterController.java

@@ -42,36 +42,36 @@ public class MusicGroupRegisterController extends BaseController {
     @ApiOperation(value = "新增学生报名信息")
     @PostMapping("/add")
     public HttpResponseResult add(@RequestBody StudentRegistration studentRegistration) throws Exception {
-    	
-    	SysUser sysUser = sysUserFeignService.queryUserInfo();
+
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        
+
         Date date = new Date();
         MusicGroup musicGroup = musicGroupService.get(studentRegistration.getMusicGroupId());
         if (musicGroup == null) {
             return failed("乐团信息不存在");
         }
-        
-        if (DateUtil.daysBetween(musicGroup.getApplyExpireDate(),date) > 1) {
+
+        if (DateUtil.daysBetween(musicGroup.getApplyExpireDate(), date) > 1 && studentRegistration.getId() == null) {
             return failed("乐团已截止报名");
         }
-        
-        if(studentRegistration.getId() != null){
-            return  succeed(studentRegistrationService.updateStudent(studentRegistration));
+
+        if (studentRegistration.getId() != null) {
+            return succeed(studentRegistrationService.updateStudent(studentRegistration));
         }
 
         if (musicGroup.getStatus().equals(MusicGroupStatusEnum.PAY)) {
             studentRegistration.setPaymentStatus(PaymentStatusEnum.OPEN);
-        }else{
+        } else {
             studentRegistration.setPaymentStatus(PaymentStatusEnum.NO);
         }
-        
-        if(studentRegistration.getUserId() == null){
-        	studentRegistration.setUserId(sysUser.getId());
+
+        if (studentRegistration.getUserId() == null) {
+            studentRegistration.setUserId(sysUser.getId());
         }
-        
+
         studentRegistration.setOrganId(musicGroup.getOrganId());
         return succeed(studentRegistrationService.addStudent(studentRegistration));
     }

+ 2 - 1
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -148,6 +148,7 @@ public class StudentOrderController extends BaseController {
             orderDetail.put("ownershipType", musicGroup.getOwnershipType());
             orderDetail.put("detailType", orderDetailType);
             orderDetail.put("chargeTypeId", musicGroup.getChargeTypeId());
+            orderDetail.put("courseViewType", musicGroup.getCourseViewType());
 
             //新的课程形态10.27
             MusicGroupPaymentCalender musicGroupRegCalender = musicGroupPaymentCalenderDao.getMusicGroupRegCalender(musicGroup.getId());
@@ -775,7 +776,7 @@ public class StudentOrderController extends BaseController {
         if (sysUser == null) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(studentPaymentOrderDao.getUserApplyOrders(sysUser.getId(), musicGroupId));
+        return succeed(studentPaymentOrderService.getUserApplyOrders(sysUser.getId(), musicGroupId));
     }
 
     @GetMapping("/reConfirmOrder")

+ 1 - 1
mec-student/src/main/resources/bootstrap-test.properties

@@ -3,7 +3,7 @@
 #\u670d\u52a1\u5668\u5730\u5740
 spring.cloud.nacos.config.server-addr=47.114.1.200:8848
 #\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
-spring.cloud.nacos.config.namespace=02105743-16b8-46ab-87df-2aca0f3dbca3
+spring.cloud.nacos.config.namespace=f753d9d9-4bb2-4df6-a483-da9e169617c4
 #\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
 spring.cloud.nacos.config.group=DEFAULT_GROUP
 #\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}

+ 6 - 8
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherController.java

@@ -186,14 +186,12 @@ public class TeacherController extends BaseController {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
         String organIds = new String();
-        if (!sysUser.getIsSuperAdmin()) {
-            Teacher teacher = teacherService.get(sysUser.getId());
-            if (StringUtils.isEmpty(organIds)) {
-                organIds = teacher.getTeacherOrganId() + "";
-            }
-            if(StringUtils.isNotBlank(teacher.getFlowOrganRange())){
-                organIds = organIds + "," + teacher.getFlowOrganRange();
-            }
+        Teacher teacher = teacherService.get(sysUser.getId());
+        if (StringUtils.isEmpty(organIds)) {
+            organIds = teacher.getTeacherOrganId() + "";
+        }
+        if(StringUtils.isNotBlank(teacher.getFlowOrganRange())){
+            organIds = organIds + "," + teacher.getFlowOrganRange();
         }
         return succeed(employeeService.findByRole("4,5",organIds));
     }

+ 10 - 12
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

@@ -266,7 +266,7 @@ public class ClassGroupController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('classGroup/classGroupUpdate')")
     @ApiImplicitParams({@ApiImplicitParam(name = "ClassGroup4MixDto", value = "添加班级结构", required = true, dataType = "String")})
     public HttpResponseResult classGroupUpdate(@RequestBody List<ClassGroup4MixDto> classGroup4MixDtos) throws Exception {
-        return succeed(classGroupService.classGroupUpdate(classGroup4MixDtos));
+        return classGroupService.classGroupUpdate(classGroup4MixDtos);
     }
 
     @ApiOperation(value = "小班报名详情")
@@ -296,17 +296,15 @@ public class ClassGroupController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
-            Employee employee = employeeDao.get(sysUser.getId());
-            if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganIdList())) {
-                queryInfo.setOrganIdList(employee.getOrganIdList());
-            }else if(org.apache.commons.lang3.StringUtils.isEmpty(employee.getOrganIdList())){
-                return failed("用户所在分部异常");
-            }else {
-                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-                if(!list.containsAll(Arrays.asList(queryInfo.getOrganIdList().split(",")))){
-                    return failed("非法请求");
-                }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganIdList())) {
+            queryInfo.setOrganIdList(employee.getOrganIdList());
+        }else if(org.apache.commons.lang3.StringUtils.isEmpty(employee.getOrganIdList())){
+            return failed("用户所在分部异常");
+        }else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if(!list.containsAll(Arrays.asList(queryInfo.getOrganIdList().split(",")))){
+                return failed("非法请求");
             }
         }
         return succeed(classGroupService.queryClassGroupPage(queryInfo));

+ 11 - 13
mec-web/src/main/java/com/ym/mec/web/controller/CooperationOrganController.java

@@ -65,19 +65,17 @@ public class CooperationOrganController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
-		if(!sysUser.getIsSuperAdmin()){
-			Employee employee = employeeDao.get(sysUser.getId());
-			if (StringUtils.isEmpty(queryInfo.getOrganId())) {
-				queryInfo.setOrganId(employee.getOrganIdList());
-			}else if(StringUtils.isEmpty(employee.getOrganIdList())){
-				return failed("用户所在分部异常");
-			}else {
-				List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-				if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
-					return failed("非法请求");
-				}
-			}
-		}
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(employee.getOrganIdList());
+        }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+            return failed("用户所在分部异常");
+        }else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
+                return failed("非法请求");
+            }
+        }
         return succeed(cooperationOrganService.queryPage(queryInfo));
     }
 

+ 18 - 22
mec-web/src/main/java/com/ym/mec/web/controller/CourseReviewController.java

@@ -52,17 +52,15 @@ public class CourseReviewController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
-            Employee employee = employeeDao.get(sysUser.getId());
-            if (StringUtils.isEmpty(queryInfo.getOrganId())) {
-                queryInfo.setOrganId(employee.getOrganIdList());
-            } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
-                return failed("用户所在分部异常");
-            } else {
-                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-                if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
-                    return failed("非法请求");
-                }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(employee.getOrganIdList());
+        } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
+            return failed("用户所在分部异常");
+        } else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
+                return failed("非法请求");
             }
         }
         return succeed(courseReviewService.findPracticeGroupReviews(queryInfo));
@@ -90,17 +88,15 @@ public class CourseReviewController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
-            Employee employee = employeeDao.get(sysUser.getId());
-            if (StringUtils.isEmpty(queryInfo.getOrganId())) {
-                queryInfo.setOrganId(employee.getOrganIdList());
-            } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
-                return failed("用户所在分部异常");
-            } else {
-                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-                if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
-                    return failed("非法请求");
-                }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(employee.getOrganIdList());
+        } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
+            return failed("用户所在分部异常");
+        } else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
+                return failed("非法请求");
             }
         }
         return succeed(courseReviewService.getVipCourseReviews(queryInfo));

+ 9 - 11
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java

@@ -82,17 +82,15 @@ public class CourseScheduleController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
-            Employee employee = employeeDao.get(sysUser.getId());
-            if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganIdList())) {
-                queryInfo.setOrganIdList(employee.getOrganIdList());
-            }else if(org.apache.commons.lang3.StringUtils.isEmpty(employee.getOrganIdList())){
-                return failed("用户所在分部异常");
-            }else {
-                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-                if(!list.containsAll(Arrays.asList(queryInfo.getOrganIdList().split(",")))){
-                    return failed("非法请求");
-                }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganIdList())) {
+            queryInfo.setOrganIdList(employee.getOrganIdList());
+        }else if(org.apache.commons.lang3.StringUtils.isEmpty(employee.getOrganIdList())){
+            return failed("用户所在分部异常");
+        }else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if(!list.containsAll(Arrays.asList(queryInfo.getOrganIdList().split(",")))){
+                return failed("非法请求");
             }
         }
         return succeed(courseScheduleService.endFindCourseSchedules(queryInfo));

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleTeacherSalaryController.java

@@ -55,7 +55,6 @@ public class CourseScheduleTeacherSalaryController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganIdList())) {
                 queryInfo.setOrganIdList(employee.getOrganIdList());
@@ -67,7 +66,6 @@ public class CourseScheduleTeacherSalaryController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
 
         Map<String, Object> result=new HashMap<>();
         result.put("pageInfo", courseScheduleTeacherSalaryService.findIsSettlementCourseSalarys(queryInfo));

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/DegreeController.java

@@ -42,7 +42,6 @@ public class DegreeController extends BaseController { ;
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -54,7 +53,6 @@ public class DegreeController extends BaseController { ;
                     return failed("非法请求");
                 }
             }
-        }
         queryInfo.setSort("create_time_");
         queryInfo.setOrder("DESC");
         return succeed(degreeRegistrationService.getPageList(queryInfo));

+ 12 - 22
mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java

@@ -53,7 +53,6 @@ public class EmployeeController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-		if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeService.get(sysUser.getId());
 			if (StringUtils.isEmpty(queryInfo.getOrganId())) {
 				queryInfo.setOrganId(employee.getOrganIdList());
@@ -65,7 +64,6 @@ public class EmployeeController extends BaseController {
                     return failed("非法请求");
                 }
             }
-		}
         return succeed(employeeService.queryEmployByOrganId(queryInfo));
     }
 
@@ -159,11 +157,9 @@ public class EmployeeController extends BaseController {
         }
         String organIds = new String();
         if(Objects.isNull(organId)){
-            if (!sysUser.getIsSuperAdmin()) {
-                Employee employee = employeeService.get(sysUser.getId());
-                if (StringUtils.isEmpty(organIds)) {
-                    organIds = employee.getOrganIdList();
-                }
+            Employee employee = employeeService.get(sysUser.getId());
+            if (StringUtils.isEmpty(organIds)) {
+                organIds = employee.getOrganIdList();
             }
         }else{
             organIds = organId.toString();
@@ -184,11 +180,9 @@ public class EmployeeController extends BaseController {
             sysUser = sysUserFeignService.queryUserById(userId);
         }
         String organIds = new String();
-        if (!sysUser.getIsSuperAdmin()) {
-            Employee employee = employeeService.get(sysUser.getId());
-            if (StringUtils.isEmpty(organIds)) {
-                organIds = employee.getOrganIdList();
-            }
+        Employee employee = employeeService.get(sysUser.getId());
+        if (StringUtils.isEmpty(organIds)) {
+            organIds = employee.getOrganIdList();
         }
         return succeed(employeeService.findByRole("4",organIds));
     }
@@ -202,11 +196,9 @@ public class EmployeeController extends BaseController {
             return failed("用户信息获取失败");
         }
         if(StringUtils.isEmpty(organIds)){
-            if (!sysUser.getIsSuperAdmin()) {
-                Employee employee = employeeService.get(sysUser.getId());
-                if (StringUtils.isEmpty(organIds)) {
-                    organIds=employee.getOrganIdList();
-                }
+            Employee employee = employeeService.get(sysUser.getId());
+            if (StringUtils.isEmpty(organIds)) {
+                organIds=employee.getOrganIdList();
             }
         }
         return succeed(employeeService.findByRole("37",organIds));
@@ -240,11 +232,9 @@ public class EmployeeController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
-            Employee employee = employeeService.get(sysUser.getId());
-            if (StringUtils.isEmpty(organIds)) {
-                organIds=employee.getOrganIdList();
-            }
+        Employee employee = employeeService.get(sysUser.getId());
+        if (StringUtils.isEmpty(organIds)) {
+            organIds=employee.getOrganIdList();
         }
         return succeed(employeeService.findAllByRole("37",organIds));
     }

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

@@ -3,6 +3,7 @@ package com.ym.mec.web.controller;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.service.*;
 import io.swagger.annotations.Api;
@@ -38,17 +39,6 @@ import org.springframework.web.bind.annotation.RestController;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.enums.AccountType;
-import com.ym.mec.biz.dal.enums.CourseStatusEnum;
-import com.ym.mec.biz.dal.enums.GroupType;
-import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
-import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
-import com.ym.mec.biz.dal.enums.OrderDetailTypeEnum;
-import com.ym.mec.biz.dal.enums.OrderTypeEnum;
-import com.ym.mec.biz.dal.enums.PaymentChannelEnum;
-import com.ym.mec.biz.dal.enums.SporadicChargeTypeEnum;
-import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
@@ -137,6 +127,70 @@ public class ExportController extends BaseController {
     private VipGroupActivityService vipGroupActivityService;
     @Autowired
     private GoodsService goodsService;
+    @Autowired
+    private ClassGroupService classGroupService;
+
+    @ApiOperation(value = "班级列表导出")
+    @PostMapping("export/classGroup")
+    @PreAuthorize("@pcs.hasPermissions('export/classGroup')")
+    public void exportClassGroup(HttpServletResponse response, ClassGroupQueryInfo queryInfo) throws IOException {
+        queryInfo.setPage(1);
+        queryInfo.setRows(49999);
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            throw new BizException("用户信息获取失败");
+        }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganIdList())) {
+            queryInfo.setOrganIdList(employee.getOrganIdList());
+        }else if(org.apache.commons.lang3.StringUtils.isEmpty(employee.getOrganIdList())){
+            throw new BizException("用户所在分部异常");
+        }else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if(!list.containsAll(Arrays.asList(queryInfo.getOrganIdList().split(",")))){
+                throw new BizException("非法请求");
+            }
+        }
+        List<ClassGroupTeachersDto> rows = classGroupService.queryClassGroupPage(queryInfo).getRows();
+        for (ClassGroupTeachersDto row : rows) {
+            List<ClassGroupTeacherMapper> classGroupTeacherMapperList = row.getClassGroupTeacherMapperList();
+            if(classGroupTeacherMapperList.size() > 0){
+                List<ClassGroupTeacherMapper> teachingTeachers = classGroupTeacherMapperList.stream().filter(e -> e.getTeacherRole() == TeachTypeEnum.TEACHING).collect(Collectors.toList());
+                if(teachingTeachers.size() > 0){
+                    row.setTeachingTeacherName(StringUtils.join(teachingTeachers.stream().map(e->e.getUserName()).collect(Collectors.toList()), ","));
+                }
+                List<ClassGroupTeacherMapper> bishopTeachers = classGroupTeacherMapperList.stream().filter(e -> e.getTeacherRole() == TeachTypeEnum.BISHOP).collect(Collectors.toList());
+                if(bishopTeachers.size() > 0){
+                    row.setBishopTeacherName(StringUtils.join(bishopTeachers.stream().map(e->e.getUserName()).collect(Collectors.toList()),","));
+                }
+            }
+        }
+        OutputStream outputStream = response.getOutputStream();
+        try {
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"课程组编号", "课程组名称", "分部名称", "班级名称",
+                    "班级类型", "班级人数", "主教老师", "助教老师", "已上课时", "总课数"}, new String[]{
+                    "musicGroupId", "musicGroupName", "organName", "name",
+                    "type.msg", "studentNum == NUll?0:studentNum", "bishopTeacherName", "teachingTeacherName", "currentClassTimes",
+                    "totalClassTimes"}, rows);
+            response.setContentType("application/octet-stream");
+            response.setHeader("Content-Disposition", "attac:wq" +
+                    "hment;filename=classGroup-" + DateUtil.getDate(new Date()) + ".xls");
+            response.flushBuffer();
+            outputStream = response.getOutputStream();
+            workbook.write(outputStream);
+            outputStream.flush();
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            if (outputStream != null) {
+                try {
+                    outputStream.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
 
     @ApiOperation(value = "商品列表导出")
     @PostMapping("export/goods")
@@ -185,17 +239,15 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
-            Employee employee = employeeDao.get(sysUser.getId());
-            if (StringUtils.isEmpty(queryInfo.getOrganId())) {
-                queryInfo.setOrganId(employee.getOrganIdList());
-            } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
-                throw new BizException("用户所在分部异常");
-            } else {
-                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-                if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
-                    throw new BizException("非法请求");
-                }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(employee.getOrganIdList());
+        } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
+            throw new BizException("用户所在分部异常");
+        } else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
+                throw new BizException("非法请求");
             }
         }
         List<ExportVipGroupActivityDto> rows = vipGroupActivityService.exportVipGroupActivity(queryInfo);
@@ -236,7 +288,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -248,7 +299,6 @@ public class ExportController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         List<ExportStudentAttendanceDto> rows = studentAttendanceService.exportStudentAttendancesQueryPage(queryInfo).getRows();
         OutputStream outputStream = response.getOutputStream();
         try {
@@ -317,7 +367,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -329,7 +378,6 @@ public class ExportController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         queryInfo.setPage(1);
         queryInfo.setRows(49999);
         List<MusicGroupPaymentCalenderAuditDto> rows = musicGroupPaymentCalenderService.auditList(queryInfo).getRows();
@@ -368,7 +416,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -380,7 +427,6 @@ public class ExportController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         List rows = teacherAttendanceService.queryTeacherAttendances(queryInfo).getRows();
         OutputStream outputStream = response.getOutputStream();
         try {
@@ -450,7 +496,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -462,7 +507,6 @@ public class ExportController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         List<StudentBuyPracticeDto> rows = practiceGroupService.studentBuys(queryInfo).getRows();
         OutputStream outputStream = response.getOutputStream();
         try {
@@ -577,7 +621,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -589,7 +632,6 @@ public class ExportController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         Date endTime = queryInfo.getEndTime();
         if (endTime != null) {
             queryInfo.setEndTime(DateUtil.addDays(endTime, 1));
@@ -630,7 +672,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -642,7 +683,6 @@ public class ExportController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         queryInfo.setIsExport(true);
         List<StudentManageListDto> rows = studentManageService.findStudentsByOrganId(queryInfo).getRows();
         OutputStream outputStream = response.getOutputStream();
@@ -684,7 +724,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -696,7 +735,6 @@ public class ExportController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         List<PracticeGroupDto> rows = practiceGroupService.findPracticeGroups(queryInfo).getRows();
         OutputStream outputStream = response.getOutputStream();
         if (rows != null && rows.size() > 0) {
@@ -749,7 +787,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -761,7 +798,6 @@ public class ExportController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         List<VipGroup> rows = vipGroupService.findVipGroups(queryInfo).getRows();
         OutputStream outputStream = response.getOutputStream();
         if (rows != null && rows.size() > 0) {
@@ -805,7 +841,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganIdList())) {
                 queryInfo.setOrganIdList(employee.getOrganIdList());
@@ -817,7 +852,6 @@ public class ExportController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         List<CourseScheduleEndDto> rows = scheduleService.endFindCourseSchedules(queryInfo).getRows();
         for (CourseScheduleEndDto row : rows) {
             row.setIsComplaints(StringUtils.equals(row.getIsComplaints(), "1") ? "有" : "无");
@@ -859,7 +893,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -871,7 +904,6 @@ public class ExportController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         List<SporadicChargeInfo> rows = sporadicChargeInfoService.queryDetailPage(queryInfo).getRows();
         for (SporadicChargeInfo row : rows) {
             row.setOpenFlagStr(row.getOpenFlag().equals(0) ? "开启" : "关闭");
@@ -1033,14 +1065,12 @@ public class ExportController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('export/orderList')")
     public void orderList(StudentPaymentOrderQueryInfo queryInfo, HttpServletResponse response) throws IOException {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getRoutingOrganId()) && "3".equals(queryInfo.getOrderType())) {
                 queryInfo.setRoutingOrganId(employee.getOrganIdList());
             } else if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
             }
-        }
         if (StringUtils.isNotBlank(queryInfo.getSearch())) {
             List<BasicUserDto> users = studentPaymentOrderDao.getUsers(queryInfo.getSearch());
             List<Integer> userIds = users.stream().map(BasicUserDto::getUserId).collect(Collectors.toList());
@@ -1320,10 +1350,8 @@ public class ExportController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('export/courseReviews')")
     public void courseReviews(CourseReviewQueryInfo queryInfo, HttpServletResponse response) throws IOException {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (!sysUser.getIsSuperAdmin()) {
-            Employee employee = employeeDao.get(sysUser.getId());
-            queryInfo.setOrganId(employee.getOrganIdList());
-        }
+        Employee employee = employeeDao.get(sysUser.getId());
+        queryInfo.setOrganId(employee.getOrganIdList());
         queryInfo.setIsExport(1);
         queryInfo.setPage(1);
         queryInfo.setRows(49999);
@@ -1409,10 +1437,8 @@ public class ExportController extends BaseController {
     public void practiceGroup(HttpServletResponse response) throws IOException {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         String organIds = null;
-        if (!sysUser.getIsSuperAdmin()) {
-            Employee employee = employeeDao.get(sysUser.getId());
-            organIds = employee.getOrganIdList();
-        }
+        Employee employee = employeeDao.get(sysUser.getId());
+        organIds = employee.getOrganIdList();
 
         List<CourseGroupExportDto> practiceGroupExports = practiceGroupDao.getPracticeGroupExport(organIds);
         if (practiceGroupExports == null || practiceGroupExports.size() == 0) {
@@ -1481,10 +1507,8 @@ public class ExportController extends BaseController {
     public void vipGroup(HttpServletResponse response) throws IOException {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         String organIds = null;
-        if (!sysUser.getIsSuperAdmin()) {
-            Employee employee = employeeDao.get(sysUser.getId());
-            organIds = employee.getOrganIdList();
-        }
+        Employee employee = employeeDao.get(sysUser.getId());
+        organIds = employee.getOrganIdList();
 
         List<CourseGroupExportDto> vipGroupExports = courseScheduleDao.getVipGroupExport(organIds);
         if (vipGroupExports == null || vipGroupExports.size() == 0) {
@@ -1567,7 +1591,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganIdList())) {
                 queryInfo.setOrganIdList(employee.getOrganIdList());
@@ -1579,7 +1602,6 @@ public class ExportController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         List<ExtraExerciseStudentsDto> rows = extracurricularExercisesReplyService.findExtraExercises(queryInfo).getRows();
         if (CollectionUtils.isEmpty(rows)) {
             response.setStatus(500);
@@ -1628,7 +1650,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganIdList())) {
                 queryInfo.setOrganIdList(employee.getOrganIdList());
@@ -1640,7 +1661,6 @@ public class ExportController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         List<StudentExercisesSituationDto> rows = studentExtracurricularExercisesSituationService.findStudentExtracurricularExercisesSituations(queryInfo).getRows();
         if (CollectionUtils.isEmpty(rows)) {
             response.setStatus(500);
@@ -1683,7 +1703,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganIdList())) {
                 queryInfo.setOrganIdList(employee.getOrganIdList());
@@ -1695,7 +1714,6 @@ public class ExportController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         List<TeacherCourseSalaryDetail4WebDto> rows = courseScheduleTeacherSalaryService.findIsSettlementCourseSalarys(queryInfo).getRows();
         if (CollectionUtils.isEmpty(rows)) {
             response.setStatus(500);
@@ -1768,7 +1786,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -1780,7 +1797,6 @@ public class ExportController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         PageInfo<Student4operating> PageOperatingStudents = studentManageService.getOperatingStudents(queryInfo);
 
         if (PageOperatingStudents.getTotal() <= 0) {
@@ -1843,10 +1859,8 @@ public class ExportController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('export/vipCourseReviews')")
     public void vipCourseReviews(CourseReviewQueryInfo queryInfo, HttpServletResponse response) throws IOException {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             queryInfo.setOrganId(employee.getOrganIdList());
-        }
         queryInfo.setIsExport(1);
         queryInfo.setPage(1);
         queryInfo.setRows(49999);
@@ -1987,7 +2001,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new IOException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -1999,7 +2012,6 @@ public class ExportController extends BaseController {
                     throw new IOException("非法请求");
                 }
             }
-        }
         queryInfo.setRows(65000);
         PageInfo<CooperationOrgan> pageList = cooperationOrganService.queryPage(queryInfo);
         if (pageList.getTotal() <= 0) {
@@ -2013,7 +2025,7 @@ public class ExportController extends BaseController {
         try {
 
             String[] header = {"分部", "单位编号", "单位名称", "联系人", "职位", "手机号", "是否启用"};
-            String[] body = {"organization.name", "id", "name", "linkman", "job", "mobileNo", "isEnable"};
+            String[] body = {"organization.name", "id", "name", "linkman", "job", "mobileNo","isEnable == true ? '是':'否'"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, pageList.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=cooperationOrgan-" + DateUtil.getDate(new Date()) + ".xls");
@@ -2039,12 +2051,10 @@ public class ExportController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('export/musicGroupRegister')")
     public void musicGroupRegister(String organIds, HttpServletResponse response) throws IOException {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isBlank(organIds)) {
                 organIds = employee.getOrganIdList();
             }
-        }
         List<MusicGroupStatusEnum> musicGroupStatusList = new ArrayList<>();
         musicGroupStatusList.add(MusicGroupStatusEnum.APPLY);
         musicGroupStatusList.add(MusicGroupStatusEnum.PAY);
@@ -2166,14 +2176,12 @@ public class ExportController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('export/routeOrderList')")
     public void routeOrderList(StudentPaymentOrderQueryInfo queryInfo, HttpServletResponse response) throws IOException {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getRoutingOrganId()) && queryInfo.getOrderType().equals("3")) {
                 queryInfo.setRoutingOrganId(employee.getOrganIdList());
             } else if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
             }
-        }
         if (StringUtils.isNotBlank(queryInfo.getSearch())) {
             List<BasicUserDto> users = studentPaymentOrderDao.getUsers(queryInfo.getSearch());
             List<Integer> userIds = users.stream().map(BasicUserDto::getUserId).collect(Collectors.toList());
@@ -2446,12 +2454,10 @@ public class ExportController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('export/musicGroupNormalStudentNum')")
     public void musicGroupNormalStudentNum(String organIds, HttpServletResponse response) throws IOException {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isBlank(organIds)) {
                 organIds = employee.getOrganIdList();
             }
-        }
 
         List<MusicGroupStatusEnum> musicGroupStatusList = new ArrayList<>();
         musicGroupStatusList.add(MusicGroupStatusEnum.PAY);
@@ -2542,12 +2548,10 @@ public class ExportController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('export/studentOrder')")
     public void studentOrder(String organIds, Date date, HttpServletResponse response) throws IOException {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isBlank(organIds)) {
                 organIds = employee.getOrganIdList();
             }
-        }
         Date startTime = DateUtil.getFirstDayOfMonth(date);
         Date EndTime = DateUtil.getLastSecondWithDay(DateUtil.getLastDayOfMonth(date));
 
@@ -2640,7 +2644,6 @@ public class ExportController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganIdList())) {
                 queryInfo.setOrganIdList(employee.getOrganIdList());
@@ -2652,7 +2655,6 @@ public class ExportController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         if (queryInfo.getEndTime() != null) {
             queryInfo.setEndTime(DateUtil.getLastTimeWithDay(queryInfo.getEndTime()));
         }

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/ExtracurricularExercisesController.java

@@ -42,7 +42,6 @@ public class ExtracurricularExercisesController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganIdList())) {
                 queryInfo.setOrganIdList(employee.getOrganIdList());
@@ -54,7 +53,6 @@ public class ExtracurricularExercisesController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         return succeed(extracurricularExercisesService.queryPage(queryInfo));
     }
 

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/ExtracurricularExercisesReplyController.java

@@ -39,7 +39,6 @@ public class ExtracurricularExercisesReplyController extends BaseController {
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (org.apache.commons.lang3.StringUtils.isEmpty(queryInfo.getOrganIdList())) {
                 queryInfo.setOrganIdList(employee.getOrganIdList());
@@ -51,7 +50,6 @@ public class ExtracurricularExercisesReplyController extends BaseController {
                     throw new BizException("非法请求");
                 }
             }
-        }
         return succeed(extracurricularExercisesReplyService.findExtraExercises(queryInfo));
     }
 

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/FinancialExpenditureController.java

@@ -48,7 +48,6 @@ public class FinancialExpenditureController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -60,7 +59,6 @@ public class FinancialExpenditureController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(financialExpenditureService.queryFinancialExpenditurePage(queryInfo));
     }
 

+ 0 - 8
mec-web/src/main/java/com/ym/mec/web/controller/IndexController.java

@@ -123,7 +123,6 @@ public class IndexController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
-		if (!sysUser.getIsSuperAdmin()) {
 			Employee employee = employeeService.get(sysUser.getId());
 			if (StringUtils.isBlank(indexDataQueryInfo.getOrganId())) {
 				indexDataQueryInfo.setOrganId(employee.getOrganIdList());
@@ -135,7 +134,6 @@ public class IndexController extends BaseController {
 					return failed("非法请求");
 				}
 			}
-		}
 		return succeed(indexService.getIndexBaseData(indexDataQueryInfo));
 	}
 
@@ -145,7 +143,6 @@ public class IndexController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
-		if (!sysUser.getIsSuperAdmin()) {
 			Employee employee = employeeService.get(sysUser.getId());
 			if (StringUtils.isBlank(organId)) {
 				organId = employee.getOrganIdList();
@@ -157,7 +154,6 @@ public class IndexController extends BaseController {
 					return failed("非法请求");
 				}
 			}
-		}
 		return succeed(indexService.hasIndexErrData(organId));
 	}
 
@@ -167,7 +163,6 @@ public class IndexController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
-		if (!sysUser.getIsSuperAdmin()) {
 			Employee employee = employeeService.get(sysUser.getId());
 			if (StringUtils.isBlank(organId)) {
 				organId = employee.getOrganIdList();
@@ -179,7 +174,6 @@ public class IndexController extends BaseController {
 					return failed("非法请求");
 				}
 			}
-		}
 		return succeed(indexService.getIndexErrData(organId, errorType));
 	}
 
@@ -189,7 +183,6 @@ public class IndexController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
-		if (!sysUser.getIsSuperAdmin()) {
 			Employee employee = employeeService.get(sysUser.getId());
 			if (StringUtils.isBlank(organId)) {
 				organId = employee.getOrganIdList();
@@ -201,7 +194,6 @@ public class IndexController extends BaseController {
 					return failed("非法请求");
 				}
 			}
-		}
 		return succeed(indexService.getRemindMatterData(organId));
 	}
 }

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/InspectionController.java

@@ -72,7 +72,6 @@ public class InspectionController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -84,7 +83,6 @@ public class InspectionController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(inspectionService.getPageList(queryInfo));
     }
 

+ 9 - 11
mec-web/src/main/java/com/ym/mec/web/controller/InspectionItemController.java

@@ -56,17 +56,15 @@ public class InspectionItemController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
-            Employee employee = employeeDao.get(sysUser.getId());
-            if (StringUtils.isEmpty(queryInfo.getOrganId())) {
-                queryInfo.setOrganId(employee.getOrganIdList());
-            } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
-                return failed("用户所在分部异常");
-            } else {
-                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-                if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
-                    return failed("非法请求");
-                }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(employee.getOrganIdList());
+        } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
+            return failed("用户所在分部异常");
+        } else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
+                return failed("非法请求");
             }
         }
         List<Integer> userRole = employeeDao.queryUserRole(sysUser.getId());

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/InspectionItemPlanController.java

@@ -72,7 +72,6 @@ public class InspectionItemPlanController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -84,7 +83,6 @@ public class InspectionItemPlanController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         if (queryInfo.getStartTime() != null) {
             queryInfo.setStartTime(DateUtil.trunc(queryInfo.getStartTime()));
         }

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java

@@ -112,7 +112,6 @@ public class MusicGroupController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
-		if(!sysUser.getIsSuperAdmin()){
 			Employee employee = employeeDao.get(sysUser.getId());
 			if (StringUtils.isEmpty(queryInfo.getOrganId())) {
 				queryInfo.setOrganId(employee.getOrganIdList());
@@ -124,7 +123,6 @@ public class MusicGroupController extends BaseController {
 					return failed("非法请求");
 				}
 			}
-		}
 		return succeed(musicGroupService.queryMusicGroupPage(queryInfo));
 	}
 

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderController.java

@@ -119,7 +119,6 @@ public class MusicGroupPaymentCalenderController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -131,7 +130,6 @@ public class MusicGroupPaymentCalenderController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(musicGroupPaymentCalenderService.auditList(queryInfo));
     }
 

+ 0 - 4
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderDetailController.java

@@ -114,7 +114,6 @@ public class MusicGroupPaymentCalenderDetailController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeService.get(sysUser.getId());
             if (StringUtils.isBlank(queryInfo.getOrganIds())) {
                 queryInfo.setOrganIds(employee.getOrganIdList());
@@ -126,7 +125,6 @@ public class MusicGroupPaymentCalenderDetailController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(musicGroupPaymentCalenderDetailService.queryArrearageStudents(queryInfo));
     }
 
@@ -138,7 +136,6 @@ public class MusicGroupPaymentCalenderDetailController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeService.get(sysUser.getId());
             if (StringUtils.isBlank(organIds)) {
                 organIds = employee.getOrganIdList();
@@ -150,7 +147,6 @@ public class MusicGroupPaymentCalenderDetailController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(musicGroupPaymentCalenderDetailService.getNoPaymentStudentMusicGroups(organIds));
     }
 }

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupQuitController.java

@@ -55,7 +55,6 @@ public class MusicGroupQuitController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
-		if (!sysUser.getIsSuperAdmin()) {
 			Employee employee = employeeService.get(sysUser.getId());
 			if (StringUtils.isBlank(queryInfo.getOrganId())) {
 				queryInfo.setOrganId(employee.getOrganIdList());
@@ -67,7 +66,6 @@ public class MusicGroupQuitController extends BaseController {
 					return failed("非法请求");
 				}
 			}
-		}
 		return succeed(musicGroupQuitService.queryPage(queryInfo));
 	}
 

+ 0 - 4
mec-web/src/main/java/com/ym/mec/web/controller/OperatingReportController.java

@@ -49,7 +49,6 @@ public class OperatingReportController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganIdList())) {
                 queryInfo.setOrganIdList(employee.getOrganIdList());
@@ -61,7 +60,6 @@ public class OperatingReportController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         if (queryInfo.getMonth() != null) {
             queryInfo.setStartTime(DateUtil.getFirstDayOfMonth(queryInfo.getMonth()));
             queryInfo.setEndTime(DateUtil.getLastDayOfMonth(queryInfo.getMonth()));
@@ -78,7 +76,6 @@ public class OperatingReportController extends BaseController {
         if (sysUser == null) {
             throw new IOException("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganIdList())) {
                 queryInfo.setOrganIdList(employee.getOrganIdList());
@@ -90,7 +87,6 @@ public class OperatingReportController extends BaseController {
                     throw new IOException("非法请求");
                 }
             }
-        }
         if (queryInfo.getMonth() != null) {
             queryInfo.setStartTime(DateUtil.getFirstDayOfMonth(queryInfo.getMonth()));
             queryInfo.setEndTime(DateUtil.getLastDayOfMonth(queryInfo.getMonth()));

+ 0 - 4
mec-web/src/main/java/com/ym/mec/web/controller/PracticeGroupManageController.java

@@ -54,7 +54,6 @@ public class PracticeGroupManageController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -66,7 +65,6 @@ public class PracticeGroupManageController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(practiceGroupService.findPracticeGroups(queryInfo));
     }
 
@@ -108,7 +106,6 @@ public class PracticeGroupManageController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -120,7 +117,6 @@ public class PracticeGroupManageController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(practiceGroupService.findPracticeGroupReviews(queryInfo));
     }
 

+ 5 - 5
mec-web/src/main/java/com/ym/mec/web/controller/SchoolController.java

@@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.*;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 @RequestMapping("school")
 @Api(tags = "学校(教学点)服务")
@@ -78,7 +79,6 @@ public class SchoolController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
-		if(!sysUser.getIsSuperAdmin()){
 			Employee employee = employeeDao.get(sysUser.getId());
 			if (StringUtils.isEmpty(queryInfo.getOrganId())) {
 				queryInfo.setOrganId(employee.getOrganIdList());
@@ -90,7 +90,6 @@ public class SchoolController extends BaseController {
 					return failed("非法请求");
 				}
 			}
-		}
         return succeed(schoolService.queryPageDetail(queryInfo));
     }
 
@@ -102,7 +101,6 @@ public class SchoolController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(organId)) {
                 organId = employee.getOrganIdList();
@@ -114,7 +112,6 @@ public class SchoolController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(schoolService.queryByOrganId(organId));
     }
 
@@ -125,7 +122,10 @@ public class SchoolController extends BaseController {
         if (teacher == null) {
             return failed("用户信息获取失败");
         }
-        String organId = teacher.getTeacherOrganId().toString();
+        String organId = new String();
+        if(Objects.nonNull(teacher.getTeacherOrganId())){
+            organId = teacher.getTeacherOrganId().toString();
+        }
         if(StringUtils.isEmpty(teacher.getFlowOrganRange())){
             organId += "," + teacher.getFlowOrganRange();
         }

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/SellOrderController.java

@@ -55,7 +55,6 @@ public class SellOrderController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganIdList())) {
                 queryInfo.setOrganIdList(employee.getOrganIdList());
@@ -67,7 +66,6 @@ public class SellOrderController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         if (queryInfo.getEndTime() != null) {
             queryInfo.setEndTime(DateUtil.getLastTimeWithDay(queryInfo.getEndTime()));
         }

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/SporadicChargeInfoController.java

@@ -43,7 +43,6 @@ public class SporadicChargeInfoController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
-		if(!sysUser.getIsSuperAdmin()){
 			Employee employee = employeeDao.get(sysUser.getId());
 			if (StringUtils.isEmpty(queryInfo.getOrganId())) {
 				queryInfo.setOrganId(employee.getOrganIdList());
@@ -55,7 +54,6 @@ public class SporadicChargeInfoController extends BaseController {
 					return failed("非法请求");
 				}
 			}
-		}
 		queryInfo.setSort("id_");
 		return succeed(sporadicChargeInfoService.queryDetailPage(queryInfo));
 	}

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/StudentApplyRefundsController.java

@@ -43,7 +43,6 @@ public class StudentApplyRefundsController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
-		if(!sysUser.getIsSuperAdmin()){
 			Employee employee = employeeDao.get(sysUser.getId());
 			if (StringUtils.isEmpty(queryInfo.getOrganId())) {
 				queryInfo.setOrganId(employee.getOrganIdList());
@@ -55,7 +54,6 @@ public class StudentApplyRefundsController extends BaseController {
 					return failed("非法请求");
 				}
 			}
-		}
         return succeed(studentApplyRefundsService.queryPage(queryInfo));
     }
 }

+ 9 - 11
mec-web/src/main/java/com/ym/mec/web/controller/StudentExtracurricularExercisesSituationController.java

@@ -63,17 +63,15 @@ public class StudentExtracurricularExercisesSituationController extends BaseCont
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
-            Employee employee = employeeDao.get(sysUser.getId());
-            if (StringUtils.isEmpty(queryInfo.getOrganIdList())) {
-                queryInfo.setOrganIdList(employee.getOrganIdList());
-            }else if(StringUtils.isEmpty(employee.getOrganIdList())){
-                return failed("用户所在分部异常");
-            }else {
-                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-                if(!list.containsAll(Arrays.asList(queryInfo.getOrganIdList().split(",")))){
-                    return failed("非法请求");
-                }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganIdList())) {
+            queryInfo.setOrganIdList(employee.getOrganIdList());
+        }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+            return failed("用户所在分部异常");
+        }else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if(!list.containsAll(Arrays.asList(queryInfo.getOrganIdList().split(",")))){
+                return failed("非法请求");
             }
         }
         return succeed(studentExtracurricularExercisesSituationService.findStudentExtracurricularExercisesSituations(queryInfo));

+ 0 - 4
mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

@@ -72,7 +72,6 @@ public class StudentManageController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -84,7 +83,6 @@ public class StudentManageController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         queryInfo.setIsExport(false);
         return succeed(studentManageService.findStudentsByOrganId(queryInfo));
     }
@@ -320,7 +318,6 @@ public class StudentManageController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -332,7 +329,6 @@ public class StudentManageController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(studentManageService.getOperatingStudents(queryInfo));
     }
 

+ 0 - 10
mec-web/src/main/java/com/ym/mec/web/controller/StudentPaymentOrderController.java

@@ -60,7 +60,6 @@ public class StudentPaymentOrderController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -72,7 +71,6 @@ public class StudentPaymentOrderController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         if (StringUtils.isNotBlank(queryInfo.getSearch())) {
             List<BasicUserDto> users = studentPaymentOrderDao.getUsers(queryInfo.getSearch());
             List<Integer> userIds = users.stream().map(BasicUserDto::getUserId).collect(Collectors.toList());
@@ -106,7 +104,6 @@ public class StudentPaymentOrderController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -118,7 +115,6 @@ public class StudentPaymentOrderController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(studentPaymentOrderService.sporadicQueryPage(queryInfo));
     }
 
@@ -130,7 +126,6 @@ public class StudentPaymentOrderController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -142,7 +137,6 @@ public class StudentPaymentOrderController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         queryInfo.setOrderType("1");
 
         PageInfo<StudentPaymentOrderDto> studentPaymentOrderPageInfo = studentPaymentOrderService.OrderQueryPage(queryInfo);
@@ -166,7 +160,6 @@ public class StudentPaymentOrderController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -178,7 +171,6 @@ public class StudentPaymentOrderController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         queryInfo.setOrderType("2");
 
         PageInfo<StudentPaymentOrderDto> studentPaymentOrderPageInfo = studentPaymentOrderService.OrderQueryPage(queryInfo);
@@ -218,7 +210,6 @@ public class StudentPaymentOrderController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getRoutingOrganId())) {
                 queryInfo.setRoutingOrganId(employee.getOrganIdList());
@@ -230,7 +221,6 @@ public class StudentPaymentOrderController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
 
         PageInfo<StudentPaymentOrderDto> studentPaymentOrderPageInfo = studentPaymentOrderService.OrderQueryPage(queryInfo);
         return succeed(studentPaymentOrderPageInfo);

+ 0 - 4
mec-web/src/main/java/com/ym/mec/web/controller/StudentPaymentRouteOrderController.java

@@ -65,7 +65,6 @@ public class StudentPaymentRouteOrderController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getRoutingOrganId())) {
                 queryInfo.setRoutingOrganId(employee.getOrganIdList());
@@ -77,7 +76,6 @@ public class StudentPaymentRouteOrderController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         if (StringUtils.isNotBlank(queryInfo.getSearch())) {
             List<BasicUserDto> users = studentPaymentOrderDao.getUsers(queryInfo.getSearch());
             List<Integer> userIds = users.stream().map(BasicUserDto::getUserId).collect(Collectors.toList());
@@ -99,7 +97,6 @@ public class StudentPaymentRouteOrderController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -111,7 +108,6 @@ public class StudentPaymentRouteOrderController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
 
         return succeed(studentPaymentRouteOrderService.queryAuditList(queryInfo));
     }

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/StudentRechargeController.java

@@ -44,7 +44,6 @@ public class StudentRechargeController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
-		if(!sysUser.getIsSuperAdmin()){
 			Employee employee = employeeDao.get(sysUser.getId());
 			if (StringUtils.isEmpty(queryInfo.getOrganId())) {
 				queryInfo.setOrganId(employee.getOrganIdList());
@@ -56,7 +55,6 @@ public class StudentRechargeController extends BaseController {
 					return failed("非法请求");
 				}
 			}
-		}
 		return succeed(studentRechargeService.queryPage(queryInfo));
 	}
 

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/StudentRepairController.java

@@ -46,7 +46,6 @@ public class StudentRepairController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganIdList())) {
                 queryInfo.setOrganIdList(employee.getOrganIdList());
@@ -58,7 +57,6 @@ public class StudentRepairController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         Date endTime = queryInfo.getEndTime();
         if(endTime != null){
             queryInfo.setEndTime(DateUtil.addDays(endTime, 1));

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/StudentWithdrawController.java

@@ -54,7 +54,6 @@ public class StudentWithdrawController extends BaseController {
 		if (sysUser == null) {
 			return failed("用户信息获取失败");
 		}
-		if(!sysUser.getIsSuperAdmin()){
 			Employee employee = employeeDao.get(sysUser.getId());
 			if (StringUtils.isEmpty(queryInfo.getOrganId())) {
 				queryInfo.setOrganId(employee.getOrganIdList());
@@ -66,7 +65,6 @@ public class StudentWithdrawController extends BaseController {
 					return failed("非法请求");
 				}
 			}
-		}
 		return succeed(studentWithdrawService.queryPage(queryInfo));
 	}
 }

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/SubjectChangeController.java

@@ -56,7 +56,6 @@ public class SubjectChangeController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganIdList())) {
                 queryInfo.setOrganIdList(employee.getOrganIdList());
@@ -68,7 +67,6 @@ public class SubjectChangeController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         if (queryInfo.getEndTime() != null) {
             queryInfo.setEndTime(DateUtil.getLastTimeWithDay(queryInfo.getEndTime()));
         }

+ 18 - 5
mec-web/src/main/java/com/ym/mec/web/controller/SysUserContractsController.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiOperation;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -14,6 +15,9 @@ import com.ym.mec.biz.service.SysUserContractsService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 
+import java.util.*;
+import java.util.stream.Collectors;
+
 @RequestMapping("sysUserContracts")
 @Api(tags = "用户协议服务")
 @RestController
@@ -25,15 +29,24 @@ public class SysUserContractsController extends BaseController {
     @ApiOperation(value = "查询学生最新协议")
     @GetMapping("/getLatest")
     @PreAuthorize("@pcs.hasPermissions('sysUserContracts/getLatest')")
-	public HttpResponseResult<SysUserContracts> getLatest(Integer userId) {
-		
-		SysUserContracts sysUserContracts = sysUserContractsService.getLatestUserContract(userId);
+	public HttpResponseResult<List<SysUserContracts>> getLatest(Integer userId) {
 		
-		if(sysUserContracts == null){
+//		SysUserContracts sysUserContracts = sysUserContractsService.getLatestUserContract(userId);
+		List<SysUserContracts> sysUserContracts = sysUserContractsService.getUserAllContracts(userId);
+
+		if(CollectionUtils.isEmpty(sysUserContracts)){
 			return failed("该学员尚未签署协议");
 		}
 
-		return succeed(sysUserContracts);
+		Map<Integer, List<SysUserContracts>> versionContractMap = sysUserContracts.stream().collect(Collectors.groupingBy(SysUserContracts::getVersion));
+
+		List<SysUserContracts> result = new ArrayList<>();
+		for (Map.Entry<Integer, List<SysUserContracts>> versionContractMapEntry : versionContractMap.entrySet()) {
+			versionContractMapEntry.getValue().sort(Comparator.comparing(SysUserContracts::getCreateTime).reversed());
+			result.add(versionContractMapEntry.getValue().get(0));
+		}
+
+		return succeed(result);
 	}
 
 }

+ 0 - 4
mec-web/src/main/java/com/ym/mec/web/controller/TeacherAttendanceController.java

@@ -51,7 +51,6 @@ public class TeacherAttendanceController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -63,7 +62,6 @@ public class TeacherAttendanceController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(teacherAttendanceService.queryTeacherAttendances(queryInfo));
     }
 
@@ -107,7 +105,6 @@ public class TeacherAttendanceController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -119,7 +116,6 @@ public class TeacherAttendanceController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(teacherAttendanceService.queryTeacherAttendanceComplaints(queryInfo));
     }
 

+ 0 - 8
mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java

@@ -55,7 +55,6 @@ public class TeacherController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -67,7 +66,6 @@ public class TeacherController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(teacherService.queryPageDetail(queryInfo));
     }
 
@@ -97,7 +95,6 @@ public class TeacherController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(organId)) {
                 organId = employee.getOrganIdList();
@@ -109,7 +106,6 @@ public class TeacherController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(teacherService.findTeachers(organId));
     }
 
@@ -128,7 +124,6 @@ public class TeacherController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(organId)) {
                 organId = employee.getOrganIdList();
@@ -140,7 +135,6 @@ public class TeacherController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(teacherService.findTeacherByOrganId(organId,subjectIds,jobNature));
     }
 
@@ -152,7 +146,6 @@ public class TeacherController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -164,7 +157,6 @@ public class TeacherController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(teacherService.queryPageName(queryInfo));
     }
 

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/TeacherCourseRewardController.java

@@ -44,7 +44,6 @@ public class TeacherCourseRewardController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -56,7 +55,6 @@ public class TeacherCourseRewardController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         Date endTime = queryInfo.getEndTime();
         if(endTime != null){
             queryInfo.setEndTime(DateUtil.addDays(endTime, 1));

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/TeacherCourseStatisticsController.java

@@ -41,7 +41,6 @@ public class TeacherCourseStatisticsController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -53,7 +52,6 @@ public class TeacherCourseStatisticsController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(teacherCourseStatisticsService.queryPageDetail(queryInfo));
     }
 }

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/TeacherSalaryComplaintsController.java

@@ -39,7 +39,6 @@ public class TeacherSalaryComplaintsController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -51,7 +50,6 @@ public class TeacherSalaryComplaintsController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(teacherSalaryComplaintsService.queryPage(queryInfo));
     }
 

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupActivityController.java

@@ -55,7 +55,6 @@ public class VipGroupActivityController extends BaseController {
         if(sysUser == null){
             return failed("用户信息获取失败");
         }
-		if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -67,7 +66,6 @@ public class VipGroupActivityController extends BaseController {
                     return failed("非法请求");
                 }
             }
-		}
         return succeed(vipGroupActivityService.queryPage(queryInfo));
     }
 

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java

@@ -146,7 +146,6 @@ public class VipGroupManageController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -158,7 +157,6 @@ public class VipGroupManageController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(vipGroupService.findVipGroups(queryInfo));
     }
 

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/VisitController.java

@@ -45,7 +45,6 @@ public class VisitController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -57,7 +56,6 @@ public class VisitController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(studentVisitService.getPageList(queryInfo));
     }
 

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/WebCourseHomeworkController.java

@@ -51,7 +51,6 @@ public class WebCourseHomeworkController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -63,7 +62,6 @@ public class WebCourseHomeworkController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(courseHomeworkService.queryHomePage(queryInfo));
     }
 

+ 0 - 4
mec-web/src/main/java/com/ym/mec/web/controller/education/EduPracticeGroupController.java

@@ -216,13 +216,11 @@ public class EduPracticeGroupController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(employee.getOrganIdList())){
                 return failed("用户所在分部异常");
             }
             queryInfo.setOrganIdList(Arrays.asList(employee.getOrganIdList().split(",")));
-        }
         return succeed(studentService.findStudentVipGroupList(queryInfo));
     }
 
@@ -263,13 +261,11 @@ public class EduPracticeGroupController extends BaseController {
         if (sysUser == null) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(employee.getOrganIdList())){
                 return failed("用户所在分部异常");
             }
             queryInfo.setOrganIdList(Arrays.asList(employee.getOrganIdList().split(",")));
-        }
         return succeed(practiceGroupService.findConvertDefeatStudents(queryInfo));
     }
 

+ 0 - 2
mec-web/src/main/java/com/ym/mec/web/controller/student/StudentAttendanceController.java

@@ -71,7 +71,6 @@ public class StudentAttendanceController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
@@ -83,7 +82,6 @@ public class StudentAttendanceController extends BaseController {
                     return failed("非法请求");
                 }
             }
-        }
         return succeed(studentAttendanceService.findStudentAttendance(queryInfo));
     }
 

+ 1 - 1
mec-web/src/main/resources/bootstrap-test.properties

@@ -1,7 +1,7 @@
 #\u6307\u5b9a\u5f00\u53d1\u73af\u5883
 #spring.profiles.active=dev
 #\u670d\u52a1\u5668\u5730\u5740
-spring.cloud.nacos.config.server-addr=47.114.1.200
+spring.cloud.nacos.config.server-addr=47.114.1.200:8848
 #\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
 spring.cloud.nacos.config.namespace=f753d9d9-4bb2-4df6-a483-da9e169617c4
 #\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e