فهرست منبع

Merge remote-tracking branch 'origin/master'

周箭河 5 سال پیش
والد
کامیت
b1797a0a45
50فایلهای تغییر یافته به همراه1786 افزوده شده و 72 حذف شده
  1. 3 3
      codegen/src/main/resources/generateConfigration.xml
  2. 38 0
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/dto/MenuQueryInfo.java
  3. 13 0
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysMenu.java
  4. 9 0
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysMenuDao.java
  5. 4 2
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysMenuService.java
  6. 25 2
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysMenuServiceImpl.java
  7. 8 3
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/MenuController.java
  8. 28 2
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysMenuMapper.xml
  9. 5 5
      mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java
  10. 11 1
      mec-web/src/main/java/com/ym/mec/web/controller/StudentCourseHomeworkController.java
  11. 21 0
      mec-web/src/main/java/com/ym/mec/web/controller/education/DemoController.java
  12. 21 0
      mec-web/src/main/java/com/ym/mec/web/controller/student/DemoController.java
  13. 21 0
      mec-web/src/main/java/com/ym/mec/web/controller/system/DemoController.java
  14. 21 0
      mec-web/src/main/java/com/ym/mec/web/controller/teacher/DemoController.java
  15. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/ClassGroupTeacherMapperDao.java
  16. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/LeaveCategoryDao.java
  17. 17 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/StudentCourseHomeworkDao.java
  18. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/StudentCourseHomeworkReplyDao.java
  19. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/SysAreaDao.java
  20. 9 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/TeacherDefaultMusicGroupSalaryDao.java
  21. 183 0
      mec-web/src/main/java/com/ym/mec/web/dal/dto/CourseHomeworkListDto.java
  22. 23 0
      mec-web/src/main/java/com/ym/mec/web/dal/dto/CourseHomeworkStudentDetailDto.java
  23. 103 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/ClassGroupTeacherMapper.java
  24. 13 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/CourseHomework.java
  25. 86 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/LeaveCategory.java
  26. 35 1
      mec-web/src/main/java/com/ym/mec/web/dal/entity/StudentCourseHomework.java
  27. 86 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/StudentCourseHomeworkReply.java
  28. 98 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/SysArea.java
  29. 103 0
      mec-web/src/main/java/com/ym/mec/web/dal/entity/TeacherDefaultMusicGroupSalary.java
  30. 33 0
      mec-web/src/main/java/com/ym/mec/web/dal/page/CourseHomeworkQueryInfo.java
  31. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/ClassGroupTeacherMapperService.java
  32. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/LeaveCategoryService.java
  33. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/StudentCourseHomeworkReplyService.java
  34. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/SysAreaService.java
  35. 8 0
      mec-web/src/main/java/com/ym/mec/web/service/TeacherDefaultMusicGroupSalaryService.java
  36. 23 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/ClassGroupTeacherMapperServiceImpl.java
  37. 22 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/LeaveCategoryServiceImpl.java
  38. 22 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/StudentCourseHomeworkReplyServiceImpl.java
  39. 19 28
      mec-web/src/main/java/com/ym/mec/web/service/impl/StudentCourseHomeworkServiceImpl.java
  40. 22 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/SysAreaServiceImpl.java
  41. 14 13
      mec-web/src/main/java/com/ym/mec/web/service/impl/TeacherAttendanceServiceImpl.java
  42. 23 0
      mec-web/src/main/java/com/ym/mec/web/service/impl/TeacherDefaultMusicGroupSalaryServiceImpl.java
  43. 84 0
      mec-web/src/main/resources/config/mybatis/ClassGroupTeacherMapperMapper.xml
  44. 47 4
      mec-web/src/main/resources/config/mybatis/CourseHomeworkMapper.xml
  45. 1 1
      mec-web/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  46. 75 0
      mec-web/src/main/resources/config/mybatis/LeaveCategoryMapper.xml
  47. 102 7
      mec-web/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml
  48. 76 0
      mec-web/src/main/resources/config/mybatis/StudentCourseHomeworkReplyMapper.xml
  49. 79 0
      mec-web/src/main/resources/config/mybatis/SysAreaMapper.xml
  50. 84 0
      mec-web/src/main/resources/config/mybatis/TeacherDefaultMusicGroupSalaryMapper.xml

+ 3 - 3
codegen/src/main/resources/generateConfigration.xml

@@ -9,9 +9,9 @@
 		<schema>mec_dev</schema>
 	</dbConfiguration>
 	<srcBase>d:/javabean</srcBase>
-	<pojoPackageName>com.ym.mec.auth.api.entity</pojoPackageName>
-	<daoPackageName>com.ym.mec.auth.dal.dao</daoPackageName>
-	<servicePackageName>com.ym.mec.auth.service</servicePackageName>
+	<pojoPackageName>auth.api.entity</pojoPackageName>
+	<daoPackageName>auth.dal.dao</daoPackageName>
+	<servicePackageName>auth.service</servicePackageName>
 	<sqlmapPackageName>resources</sqlmapPackageName>
 	<sqlmapConfigPackageName>resources/config</sqlmapConfigPackageName>
 </GenerateConfiguration>

+ 38 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/dto/MenuQueryInfo.java

@@ -0,0 +1,38 @@
+package com.ym.mec.auth.api.dto;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+public class MenuQueryInfo extends QueryInfo {
+    @ApiModelProperty(value = "父节点编号,默认0",required = false)
+    private Integer parentId = 0;
+
+    @ApiModelProperty(value = "节点状态,默认0未删除,1删除",required = false)
+    private String delFlag = "0";
+
+    private Integer userId;
+
+    public Integer getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Integer parentId) {
+        this.parentId = parentId;
+    }
+
+    public String getDelFlag() {
+        return delFlag;
+    }
+
+    public void setDelFlag(String delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+}

+ 13 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysMenu.java

@@ -3,6 +3,8 @@ package com.ym.mec.auth.api.entity;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import java.util.List;
+
 /**
  * 对应数据库表(sys_menu):
  */
@@ -58,6 +60,17 @@ public class SysMenu {
 	@ApiModelProperty(value = "逻辑删除标记(0--正常 1--删除)",required = false)
 	private String delFlag;
 
+	@ApiModelProperty(value = "子节点列表",required = false)
+	private List<SysMenu> sysMenus;
+
+	public List<SysMenu> getSysMenus() {
+		return sysMenus;
+	}
+
+	public void setSysMenus(List<SysMenu> sysMenus) {
+		this.sysMenus = sysMenus;
+	}
+
 	public Integer getId() {
 		return id;
 	}

+ 9 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/dal/dao/SysMenuDao.java

@@ -28,4 +28,13 @@ public interface SysMenuDao extends BaseDAO<Integer, SysMenu> {
      * @return
      */
     SysMenu findMenuByPermission(@Param("permission") String permission);
+
+    /**
+     * 获取用户菜单树状结构
+     * @param menuId
+     * @param delFlag
+     * @param userId
+     * @return
+     */
+    List<SysMenu> findByParentId(@Param("parentId") Integer menuId,@Param("delFlag") String delFlag,@Param("userId") Integer userId);
 }

+ 4 - 2
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/SysMenuService.java

@@ -1,6 +1,8 @@
 package com.ym.mec.auth.service;
 
+import com.ym.mec.auth.api.dto.MenuQueryInfo;
 import com.ym.mec.auth.api.entity.SysMenu;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
 import java.util.List;
@@ -16,10 +18,10 @@ public interface SysMenuService extends BaseService<Integer, SysMenu> {
 
     /**
      * 根据用户编号查询用户可访问菜单
-     * @param id
+     * @param menuQueryInfo
      * @return
      */
-    List<SysMenu> findByUser(Integer id);
+    PageInfo<SysMenu> findByUser(MenuQueryInfo menuQueryInfo);
 
     /**
      * 根据权限标识查菜单

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

@@ -1,5 +1,8 @@
 package com.ym.mec.auth.service.impl;
 
+import com.ym.mec.auth.api.dto.MenuQueryInfo;
+import com.ym.mec.auth.api.enums.YesOrNoEnum;
+import com.ym.mec.common.page.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -28,8 +31,28 @@ public class SysMenuServiceImpl extends BaseServiceImpl<Integer, SysMenu>  imple
 	}
 
 	@Override
-	public List<SysMenu> findByUser(Integer id) {
-		return sysMenuDao.findByUser(id);
+	public PageInfo<SysMenu> findByUser(MenuQueryInfo menuQueryInfo) {
+		PageInfo<SysMenu> pageInfo = queryPage(menuQueryInfo);
+		for (SysMenu menu:pageInfo.getRows()) {
+			menu = getTree(menu,menuQueryInfo.getDelFlag(),menuQueryInfo.getUserId());
+		}
+		return pageInfo;
+	}
+
+	private SysMenu getTree(SysMenu menu, String delFlag,Integer userId){
+		//得到根节点对象
+		//获取子节点list
+		List<SysMenu> sysMenus = sysMenuDao.findByParentId(menu.getId(),delFlag,userId);
+		//如果存在子节点
+		if(sysMenus != null && sysMenus.size() > 0) {
+			//将子节点list放入父节点对象
+			menu.setSysMenus(sysMenus);
+			//遍历子节点....
+			for (SysMenu sysMenu : sysMenus) {
+				getTree(sysMenu,delFlag,userId);
+			}
+		}
+		return menu;
 	}
 
 	@Override

+ 8 - 3
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/MenuController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.auth.web.controller;
 
+import com.ym.mec.auth.api.dto.MenuQueryInfo;
 import com.ym.mec.auth.api.entity.SysMenu;
 import com.ym.mec.auth.service.SysMenuService;
 import com.ym.mec.common.controller.BaseController;
@@ -58,12 +59,16 @@ public class MenuController extends BaseController {
         return succeed(sysMenuService.get(id));
     }
 
-    @ApiOperation("查询用户可访问菜单")
+    @ApiOperation("查询用户可访问菜单树状结构")
     @GetMapping("/findByUser")
-    public Object findByUser() {
+    public Object findByUser(@RequestBody MenuQueryInfo menuQueryInfo) {
         AuthUser user = SecurityUtils.getUser();
         if(user != null){
-            return succeed(sysMenuService.findByUser(user.getUserId()));
+            if(menuQueryInfo == null){
+                menuQueryInfo = new MenuQueryInfo();
+            }
+            menuQueryInfo.setUserId(user.getUserId());
+            return succeed(sysMenuService.findByUser(menuQueryInfo));
         }
         return failed();
     }

+ 28 - 2
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysMenuMapper.xml

@@ -93,13 +93,19 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="SysMenu" parameterType="map">
-        SELECT * FROM sys_menu ORDER BY id_
+        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_
+        <include refid="queryTree"/>
         <include refid="global.limit"/>
     </select>
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM sys_menu
+        SELECT COUNT(sm.id_) 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_
+        <include refid="queryTree"/>
 	</select>
 
     <select id="getMenusByRoleId" resultMap="SysMenu">
@@ -120,4 +126,24 @@
     <select id="findMenuByPermission" resultMap="SysMenu">
         SELECT * FROM `sys_role_menu` WHERE `permission_` = #{permission} AND sm.del_flag_ = 0
     </select>
+    <sql id="queryTree">
+        <where>
+            <if test="userId != null">
+                sur.user_id_ = #{userId}
+            </if>
+            <if test="delFlag != null">
+                AND sm.del_flag_ = #{delFlag}
+            </if>
+            <if test="parentId != null">
+                AND sm.parent_id_ = #{parentId}
+            </if>
+        </where>
+    </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_
+        <include refid="queryTree"/>
+    </select>
 </mapper>

+ 5 - 5
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -180,11 +180,11 @@ public class RoomServiceImpl implements RoomService {
         roomResult.setDisplay(display);
 //        JwtToken jwtToken = tokenHelper.createJwtToken(jwtUser);
         IMTokenInfo tokenInfo = imHelper.getToken(userId, userId, "");
-        if (tokenInfo.isSuccess()) {
-            roomResult.setImToken(tokenInfo.getAuthenticationValue());
-        } else {
-            throw new ApiException(ErrorEnum.ERR_IM_TOKEN_ERROR, tokenInfo.getErrorMessage());
-        }
+//        if (tokenInfo.isSuccess()) {
+//            roomResult.setImToken(tokenInfo.getAuthenticationValue());
+//        } else {
+//            throw new ApiException(ErrorEnum.ERR_IM_TOKEN_ERROR, tokenInfo.getErrorMessage());
+//        }
 //        roomResult.setAuthorization(jwtToken.getToken());
         roomResult.setRoomId(roomId);
         List<RoomMember> roomMemberList = roomMemberDao.findByRid(roomId);

+ 11 - 1
mec-web/src/main/java/com/ym/mec/web/controller/StudentCourseHomeworkController.java

@@ -2,6 +2,8 @@ package com.ym.mec.web.controller;
 
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.web.dal.entity.StudentCourseHomework;
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
+import com.ym.mec.web.dal.page.CourseHomeworkQueryInfo;
 import com.ym.mec.web.service.StudentCourseHomeworkService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -26,6 +28,7 @@ public class StudentCourseHomeworkController extends BaseController {
     @ApiOperation(value = "提交作业")
     @PostMapping(value = "/add",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
     public Object add(@RequestBody StudentCourseHomework studentCourseHomework){
+        studentCourseHomework.setStatus(YesOrNoEnum.YES);
         studentCourseHomeworkService.insert(studentCourseHomework);
         return succeed();
     }
@@ -33,14 +36,21 @@ public class StudentCourseHomeworkController extends BaseController {
     @ApiOperation(value = "重新提交")
     @PutMapping(value = "/update",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
     public Object update(@RequestBody StudentCourseHomework studentCourseHomework){
+        studentCourseHomework.setStatus(YesOrNoEnum.YES);
         studentCourseHomeworkService.update(studentCourseHomework);
         return succeed();
     }
 
     @ApiOperation(value = "获取学生作业界面详细信息")
-    @GetMapping(value = "/findCourseHomeworkStudentDetail/{courseScheduleID}",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    @GetMapping(value = "/findCourseHomeworkStudentDetail/{courseScheduleID}")
     public Object findCourseHomeworkStudentDetail(@PathVariable("courseScheduleID") Long courseScheduleID) throws IOException {
         return succeed(studentCourseHomeworkService.findCourseHomeworkStudentDetail(courseScheduleID));
     }
 
+    @ApiOperation(value = "分页查询作业列表")
+    @PostMapping(value = "/queryPage",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public Object queryPage(@RequestBody CourseHomeworkQueryInfo queryInfo){
+        return succeed(studentCourseHomeworkService.queryPage(queryInfo));
+    }
+
 }

+ 21 - 0
mec-web/src/main/java/com/ym/mec/web/controller/education/DemoController.java

@@ -0,0 +1,21 @@
+package com.ym.mec.web.controller.education;
+
+import io.swagger.annotations.Api;
+
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.ym.mec.common.controller.BaseController;
+
+@RequestMapping("edu")
+@Api(tags = "Demo")
+@RestController
+public class DemoController extends BaseController {
+
+
+    @PostMapping("/queryPage")
+    public Object queryPage(){
+        return succeed();
+    }
+}

+ 21 - 0
mec-web/src/main/java/com/ym/mec/web/controller/student/DemoController.java

@@ -0,0 +1,21 @@
+package com.ym.mec.web.controller.student;
+
+import io.swagger.annotations.Api;
+
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.ym.mec.common.controller.BaseController;
+
+@RequestMapping("student")
+@Api(tags = "Demo")
+@RestController
+public class DemoController extends BaseController {
+
+
+    @PostMapping("/queryPage")
+    public Object queryPage(){
+        return succeed();
+    }
+}

+ 21 - 0
mec-web/src/main/java/com/ym/mec/web/controller/system/DemoController.java

@@ -0,0 +1,21 @@
+package com.ym.mec.web.controller.system;
+
+import io.swagger.annotations.Api;
+
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.ym.mec.common.controller.BaseController;
+
+@RequestMapping("system")
+@Api(tags = "Demo")
+@RestController
+public class DemoController extends BaseController {
+
+
+    @PostMapping("/queryPage")
+    public Object queryPage(){
+        return succeed();
+    }
+}

+ 21 - 0
mec-web/src/main/java/com/ym/mec/web/controller/teacher/DemoController.java

@@ -0,0 +1,21 @@
+package com.ym.mec.web.controller.teacher;
+
+import io.swagger.annotations.Api;
+
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.ym.mec.common.controller.BaseController;
+
+@RequestMapping("teacher")
+@Api(tags = "Demo")
+@RestController
+public class DemoController extends BaseController {
+
+
+    @PostMapping("/queryPage")
+    public Object queryPage(){
+        return succeed();
+    }
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/ClassGroupTeacherMapperDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.ClassGroupTeacherMapper;
+
+public interface ClassGroupTeacherMapperDao extends BaseDAO<Long, ClassGroupTeacherMapper> {
+
+	
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/LeaveCategoryDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.LeaveCategory;
+
+public interface LeaveCategoryDao extends BaseDAO<Integer, LeaveCategory> {
+
+	
+}

+ 17 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/StudentCourseHomeworkDao.java

@@ -6,6 +6,8 @@ import com.ym.mec.web.dal.entity.StudentCourseHomework;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
+import java.util.List;
+
 public interface StudentCourseHomeworkDao extends BaseDAO<Long, StudentCourseHomework> {
 
     /**
@@ -23,5 +25,20 @@ public interface StudentCourseHomeworkDao extends BaseDAO<Long, StudentCourseHom
      */
     CourseHomeworkStudentDetailDto findCourseHomeworkStudentDetail(@Param("courseScheduleID") Long courseScheduleID,
                                                                    @Param("userID") Long userID);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/18
+     * 批量插入学生作业提交记录
+     */
+    int batchInsertStudentCourseHomeworkRecord(List<StudentCourseHomework> studentCourseHomeworks);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/18
+     * 构建初始学生作业提交记录
+     */
+    List<StudentCourseHomework> constructInitialStudentHomeworkRecords(@Param("courseScheduleID") Long courseScheduleID,
+                                                                       @Param("courseHomeworkID") Long courseHomeworkID);
 	
 }

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/StudentCourseHomeworkReplyDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.StudentCourseHomeworkReply;
+
+public interface StudentCourseHomeworkReplyDao extends BaseDAO<Long, StudentCourseHomeworkReply> {
+
+	
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/SysAreaDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.SysArea;
+
+public interface SysAreaDao extends BaseDAO<Integer, SysArea> {
+
+	
+}

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/TeacherDefaultMusicGroupSalaryDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.web.dal.dao;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.web.dal.entity.TeacherDefaultMusicGroupSalary;
+
+public interface TeacherDefaultMusicGroupSalaryDao extends BaseDAO<Long, TeacherDefaultMusicGroupSalary> {
+
+	
+}

+ 183 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dto/CourseHomeworkListDto.java

@@ -0,0 +1,183 @@
+package com.ym.mec.web.dal.dto;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/19
+ */
+public class CourseHomeworkListDto {
+
+    /**  */
+    private Long id;
+
+    /**  */
+    private Long courseScheduleId;
+
+    /** 作业内容 */
+    private String content;
+
+    /**  */
+    private java.util.Date createTime;
+
+    @ApiModelProperty(value = "截至日期",required = false)
+    private Date expiryDate;
+
+    /** 上课时间 */
+    @ApiModelProperty(value = "上课时间",required = false)
+    private java.util.Date startClassTime;
+
+    /**  */
+    private Integer musicGroupId;
+
+    @ApiModelProperty(value = "乐团名称",required = false)
+    private String musicGroupName;
+
+    /**  */
+    private Integer classGroupId;
+
+    @ApiModelProperty(value = "班级名称",required = false)
+    private String classGroupName;
+
+    @ApiModelProperty(value = "作业完成人数",required = false)
+    private Integer completedNum;
+
+    @ApiModelProperty(value = "预计完成人数",required = false)
+    private Integer expectNum;
+
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    @ApiModelProperty(value = "备注",required = false)
+    private String remark;
+
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    @ApiModelProperty(value = "提交状态",required = false)
+    private YesOrNoEnum status;
+
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    @ApiModelProperty(value = "是否已经回复",required = false)
+    private YesOrNoEnum isReplied;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getCourseScheduleId() {
+        return courseScheduleId;
+    }
+
+    public void setCourseScheduleId(Long courseScheduleId) {
+        this.courseScheduleId = courseScheduleId;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getExpiryDate() {
+        return expiryDate;
+    }
+
+    public void setExpiryDate(Date expiryDate) {
+        this.expiryDate = expiryDate;
+    }
+
+    public Date getStartClassTime() {
+        return startClassTime;
+    }
+
+    public void setStartClassTime(Date startClassTime) {
+        this.startClassTime = startClassTime;
+    }
+
+    public Integer getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(Integer musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public String getMusicGroupName() {
+        return musicGroupName;
+    }
+
+    public void setMusicGroupName(String musicGroupName) {
+        this.musicGroupName = musicGroupName;
+    }
+
+    public Integer getClassGroupId() {
+        return classGroupId;
+    }
+
+    public void setClassGroupId(Integer classGroupId) {
+        this.classGroupId = classGroupId;
+    }
+
+    public String getClassGroupName() {
+        return classGroupName;
+    }
+
+    public void setClassGroupName(String classGroupName) {
+        this.classGroupName = classGroupName;
+    }
+
+    public Integer getCompletedNum() {
+        return completedNum;
+    }
+
+    public void setCompletedNum(Integer completedNum) {
+        this.completedNum = completedNum;
+    }
+
+    public Integer getExpectNum() {
+        return expectNum;
+    }
+
+    public void setExpectNum(Integer expectNum) {
+        this.expectNum = expectNum;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public YesOrNoEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(YesOrNoEnum status) {
+        this.status = status;
+    }
+
+    public YesOrNoEnum getIsReplied() {
+        return isReplied;
+    }
+
+    public void setIsReplied(YesOrNoEnum isReplied) {
+        this.isReplied = isReplied;
+    }
+}

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dto/CourseHomeworkStudentDetailDto.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.dal.dto;
 
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.Date;
@@ -37,6 +38,28 @@ public class CourseHomeworkStudentDetailDto {
     @ApiModelProperty(value = "学生作业评分",required = false)
     private Long score;
 
+    @ApiModelProperty(value = "提交状态",required = false)
+    private YesOrNoEnum status;
+
+    @ApiModelProperty(value = "是否已经回复",required = false)
+    private YesOrNoEnum isReplied;
+
+    public YesOrNoEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(YesOrNoEnum status) {
+        this.status = status;
+    }
+
+    public YesOrNoEnum getIsReplied() {
+        return isReplied;
+    }
+
+    public void setIsReplied(YesOrNoEnum isReplied) {
+        this.isReplied = isReplied;
+    }
+
     public String getMusicGroupName() {
         return musicGroupName;
     }

+ 103 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/ClassGroupTeacherMapper.java

@@ -0,0 +1,103 @@
+package com.ym.mec.web.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(class_group_teacher_mapper):
+ */
+public class ClassGroupTeacherMapper {
+
+	/**  */
+	private Long id;
+	
+	/**  */
+	private Integer musicGroupId;
+	
+	/**  */
+	private Integer classGroupId;
+	
+	/** 老师角色(主教、助教) */
+	private String teacherRole;
+	
+	/**  */
+	private Integer userId;
+	
+	/** 薪酬 */
+	private long salary;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setMusicGroupId(Integer musicGroupId){
+		this.musicGroupId = musicGroupId;
+	}
+	
+	public Integer getMusicGroupId(){
+		return this.musicGroupId;
+	}
+			
+	public void setClassGroupId(Integer classGroupId){
+		this.classGroupId = classGroupId;
+	}
+	
+	public Integer getClassGroupId(){
+		return this.classGroupId;
+	}
+			
+	public void setTeacherRole(String teacherRole){
+		this.teacherRole = teacherRole;
+	}
+	
+	public String getTeacherRole(){
+		return this.teacherRole;
+	}
+			
+	public void setUserId(Integer userId){
+		this.userId = userId;
+	}
+	
+	public Integer getUserId(){
+		return this.userId;
+	}
+			
+	public void setSalary(long salary){
+		this.salary = salary;
+	}
+	
+	public long getSalary(){
+		return this.salary;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 13 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/CourseHomework.java

@@ -3,6 +3,8 @@ package com.ym.mec.web.dal.entity;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import java.util.Date;
+
 /**
  * 对应数据库表(course_homework):
  */
@@ -25,6 +27,9 @@ public class CourseHomework {
 	
 	/**  */
 	private java.util.Date updateTime;
+
+	@ApiModelProperty(value = "截至日期",required = false)
+	private Date expiryDate;
 	
 	/**  */
 	private Integer musicGroupId;
@@ -38,6 +43,14 @@ public class CourseHomework {
 	@ApiModelProperty(value = "预计完成人数",required = false)
 	private Integer expectNum;
 
+	public Date getExpiryDate() {
+		return expiryDate;
+	}
+
+	public void setExpiryDate(Date expiryDate) {
+		this.expiryDate = expiryDate;
+	}
+
 	public Integer getCompletedNum() {
 		return completedNum;
 	}

+ 86 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/LeaveCategory.java

@@ -0,0 +1,86 @@
+package com.ym.mec.web.dal.entity;
+
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(leave_category):
+ */
+public class LeaveCategory {
+
+	/**  */
+	private Integer id;
+	
+	/** 类型名称 */
+	@ApiModelProperty(value = "类型名称",required = false)
+	private String name;
+	
+	/**  */
+	@ApiModelProperty(value = "是否删除",required = false)
+	private YesOrNoEnum delFlag;
+	
+	/** 备注 */
+	@ApiModelProperty(value = "备注",required = false)
+	private String remark;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	public void setId(Integer id){
+		this.id = id;
+	}
+	
+	public Integer getId(){
+		return this.id;
+	}
+			
+	public void setName(String name){
+		this.name = name;
+	}
+	
+	public String getName(){
+		return this.name;
+	}
+			
+	public void setDelFlag(YesOrNoEnum delFlag){
+		this.delFlag = delFlag;
+	}
+	
+	public YesOrNoEnum getDelFlag(){
+		return this.delFlag;
+	}
+			
+	public void setRemark(String remark){
+		this.remark = remark;
+	}
+	
+	public String getRemark(){
+		return this.remark;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 35 - 1
mec-web/src/main/java/com/ym/mec/web/dal/entity/StudentCourseHomework.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.dal.entity;
 
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
@@ -28,7 +29,40 @@ public class StudentCourseHomework {
 	
 	/**  */
 	private java.util.Date updateTime;
-	
+
+	@ApiModelProperty(value = "备注",required = false)
+	private String remark;
+
+	@ApiModelProperty(value = "提交状态",required = false)
+	private YesOrNoEnum status;
+
+	@ApiModelProperty(value = "是否已经回复",required = false)
+	private YesOrNoEnum isReplied;
+
+	public YesOrNoEnum getIsReplied() {
+		return isReplied;
+	}
+
+	public void setIsReplied(YesOrNoEnum isReplied) {
+		this.isReplied = isReplied;
+	}
+
+	public String getRemark() {
+		return remark;
+	}
+
+	public void setRemark(String remark) {
+		this.remark = remark;
+	}
+
+	public YesOrNoEnum getStatus() {
+		return status;
+	}
+
+	public void setStatus(YesOrNoEnum status) {
+		this.status = status;
+	}
+
 	public void setId(Long id){
 		this.id = id;
 	}

+ 86 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/StudentCourseHomeworkReply.java

@@ -0,0 +1,86 @@
+package com.ym.mec.web.dal.entity;
+
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(student_course_homework_reply):
+ */
+public class StudentCourseHomeworkReply {
+
+	/**  */
+	private Long id;
+	
+	/** 作业编号 */
+	@ApiModelProperty(value = "作业编号",required = true)
+	private Long studentCourseHomeworkId;
+	
+	/** 留言人编号 */
+	@ApiModelProperty(value = "留言人编号",required = true)
+	private Integer userId;
+	
+	/** 留言内容 */
+	@ApiModelProperty(value = "留言内容",required = true)
+	private String content;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/** 父级编号 */
+	@ApiModelProperty(value = "父级编号",required = true)
+	private Long parentId;
+	
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setStudentCourseHomeworkId(Long studentCourseHomeworkId){
+		this.studentCourseHomeworkId = studentCourseHomeworkId;
+	}
+	
+	public Long getStudentCourseHomeworkId(){
+		return this.studentCourseHomeworkId;
+	}
+			
+	public void setUserId(Integer userId){
+		this.userId = userId;
+	}
+	
+	public Integer getUserId(){
+		return this.userId;
+	}
+			
+	public void setContent(String content){
+		this.content = content;
+	}
+	
+	public String getContent(){
+		return this.content;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setParentId(Long parentId){
+		this.parentId = parentId;
+	}
+	
+	public Long getParentId(){
+		return this.parentId;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 98 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/SysArea.java

@@ -0,0 +1,98 @@
+package com.ym.mec.web.dal.entity;
+
+import com.ym.mec.web.dal.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(sys_area):
+ */
+public class SysArea {
+
+	/**  */
+	private Integer id;
+	
+	/** 名称 */
+	@ApiModelProperty(value = "名称",required = false)
+	private String name;
+	
+	/** 编码 */
+	@ApiModelProperty(value = "编码",required = false)
+	private Integer code;
+	
+	/** 创建时间 */
+	private java.util.Date createTime;
+	
+	/** 修改时间 */
+	private java.util.Date updateTime;
+	
+	/** 是否删除  -1:已删除  0:正常 */
+	@ApiModelProperty(value = "是否删除",required = false)
+	private YesOrNoEnum delFlag;
+	
+	/** 父节点编号 */
+	@ApiModelProperty(value = "父节点编号",required = false)
+	private Integer parentOrganId;
+	
+	public void setId(Integer id){
+		this.id = id;
+	}
+	
+	public Integer getId(){
+		return this.id;
+	}
+			
+	public void setName(String name){
+		this.name = name;
+	}
+	
+	public String getName(){
+		return this.name;
+	}
+			
+	public void setCode(Integer code){
+		this.code = code;
+	}
+	
+	public Integer getCode(){
+		return this.code;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	public void setDelFlag(YesOrNoEnum delFlag){
+		this.delFlag = delFlag;
+	}
+	
+	public YesOrNoEnum getDelFlag(){
+		return this.delFlag;
+	}
+			
+	public void setParentOrganId(Integer parentOrganId){
+		this.parentOrganId = parentOrganId;
+	}
+	
+	public Integer getParentOrganId(){
+		return this.parentOrganId;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 103 - 0
mec-web/src/main/java/com/ym/mec/web/dal/entity/TeacherDefaultMusicGroupSalary.java

@@ -0,0 +1,103 @@
+package com.ym.mec.web.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(teacher_default_music_group_salary):
+ */
+public class TeacherDefaultMusicGroupSalary {
+
+	/**  */
+	private Long id;
+	
+	/**  */
+	private Integer userId;
+	
+	/** 班级类型(参照 class_group表的type_字段) */
+	private String classGroupType;
+	
+	/**  */
+	private Integer subjectId;
+	
+	/** 主教薪酬 */
+	private long mainTeacherSalary;
+	
+	/** 助教薪酬 */
+	private long assistantTeacherSalary;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	/**  */
+	private java.util.Date updateTime;
+	
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setUserId(Integer userId){
+		this.userId = userId;
+	}
+	
+	public Integer getUserId(){
+		return this.userId;
+	}
+			
+	public void setClassGroupType(String classGroupType){
+		this.classGroupType = classGroupType;
+	}
+	
+	public String getClassGroupType(){
+		return this.classGroupType;
+	}
+			
+	public void setSubjectId(Integer subjectId){
+		this.subjectId = subjectId;
+	}
+	
+	public Integer getSubjectId(){
+		return this.subjectId;
+	}
+			
+	public void setMainTeacherSalary(long mainTeacherSalary){
+		this.mainTeacherSalary = mainTeacherSalary;
+	}
+	
+	public long getMainTeacherSalary(){
+		return this.mainTeacherSalary;
+	}
+			
+	public void setAssistantTeacherSalary(long assistantTeacherSalary){
+		this.assistantTeacherSalary = assistantTeacherSalary;
+	}
+	
+	public long getAssistantTeacherSalary(){
+		return this.assistantTeacherSalary;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 33 - 0
mec-web/src/main/java/com/ym/mec/web/dal/page/CourseHomeworkQueryInfo.java

@@ -14,6 +14,15 @@ public class CourseHomeworkQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "作业发布时间",required = false)
     private java.util.Date createTime;
 
+    @ApiModelProperty(value = "乐团ID",required = false)
+    private Long musicGroupId;
+
+    @ApiModelProperty(value = "班级ID",required = false)
+    private Long classGroupId;
+
+    @ApiModelProperty(value = "用户ID",required = false)
+    private Long userId;
+
     public Date getCreateTime() {
         return createTime;
     }
@@ -21,4 +30,28 @@ public class CourseHomeworkQueryInfo extends QueryInfo {
     public void setCreateTime(Date createTime) {
         this.createTime = createTime;
     }
+
+    public Long getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(Long musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public Long getClassGroupId() {
+        return classGroupId;
+    }
+
+    public void setClassGroupId(Long classGroupId) {
+        this.classGroupId = classGroupId;
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
 }

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/ClassGroupTeacherMapperService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.ClassGroupTeacherMapper;
+
+public interface ClassGroupTeacherMapperService extends BaseService<Long, ClassGroupTeacherMapper> {
+
+}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/LeaveCategoryService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.LeaveCategory;
+
+public interface LeaveCategoryService extends BaseService<Integer, LeaveCategory> {
+
+}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/StudentCourseHomeworkReplyService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.StudentCourseHomeworkReply;
+
+public interface StudentCourseHomeworkReplyService extends BaseService<Long, StudentCourseHomeworkReply> {
+
+}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/SysAreaService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.SysArea;
+
+public interface SysAreaService extends BaseService<Integer, SysArea> {
+
+}

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/service/TeacherDefaultMusicGroupSalaryService.java

@@ -0,0 +1,8 @@
+package com.ym.mec.web.service;
+
+import com.ym.mec.common.service.BaseService;
+import com.ym.mec.web.dal.entity.TeacherDefaultMusicGroupSalary;
+
+public interface TeacherDefaultMusicGroupSalaryService extends BaseService<Long, TeacherDefaultMusicGroupSalary> {
+
+}

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/ClassGroupTeacherMapperServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.web.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.ClassGroupTeacherMapperDao;
+import com.ym.mec.web.dal.entity.ClassGroupTeacherMapper;
+import com.ym.mec.web.service.ClassGroupTeacherMapperService;
+
+@Service
+public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, ClassGroupTeacherMapper>  implements ClassGroupTeacherMapperService {
+	
+	@Autowired
+	private ClassGroupTeacherMapperDao classGroupTeacherMapperDao;
+
+	@Override
+	public BaseDAO<Long, ClassGroupTeacherMapper> getDAO() {
+		return classGroupTeacherMapperDao;
+	}
+	
+}

+ 22 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/LeaveCategoryServiceImpl.java

@@ -0,0 +1,22 @@
+package com.ym.mec.web.service.impl;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.LeaveCategoryDao;
+import com.ym.mec.web.dal.entity.LeaveCategory;
+import com.ym.mec.web.service.LeaveCategoryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class LeaveCategoryServiceImpl extends BaseServiceImpl<Integer, LeaveCategory> implements LeaveCategoryService {
+	
+	@Autowired
+	private LeaveCategoryDao leaveCategoryDao;
+
+	@Override
+	public BaseDAO<Integer, LeaveCategory> getDAO() {
+		return leaveCategoryDao;
+	}
+	
+}

+ 22 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/StudentCourseHomeworkReplyServiceImpl.java

@@ -0,0 +1,22 @@
+package com.ym.mec.web.service.impl;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.StudentCourseHomeworkReplyDao;
+import com.ym.mec.web.dal.entity.StudentCourseHomeworkReply;
+import com.ym.mec.web.service.StudentCourseHomeworkReplyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class StudentCourseHomeworkReplyServiceImpl extends BaseServiceImpl<Long, StudentCourseHomeworkReply> implements StudentCourseHomeworkReplyService {
+	
+	@Autowired
+	private StudentCourseHomeworkReplyDao studentCourseHomeworkReplyDao;
+
+	@Override
+	public BaseDAO<Long, StudentCourseHomeworkReply> getDAO() {
+		return studentCourseHomeworkReplyDao;
+	}
+	
+}

+ 19 - 28
mec-web/src/main/java/com/ym/mec/web/service/impl/StudentCourseHomeworkServiceImpl.java

@@ -1,24 +1,25 @@
 package com.ym.mec.web.service.impl;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.common.dal.BaseDAO;
-import com.ym.mec.common.security.SecurityUtils;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.web.dal.dao.StudentCourseHomeworkDao;
 import com.ym.mec.web.dal.dto.CourseHomeworkStudentDetailDto;
 import com.ym.mec.web.dal.entity.CourseHomework;
 import com.ym.mec.web.dal.entity.StudentCourseHomework;
+import com.ym.mec.web.dal.page.CourseHomeworkQueryInfo;
 import com.ym.mec.web.service.CourseHomeworkService;
 import com.ym.mec.web.service.StudentCourseHomeworkService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.*;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.MultiValueMap;
 import org.springframework.web.client.RestTemplate;
 
 import java.io.IOException;
-import java.util.Map;
 
 @Service
 public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, StudentCourseHomework>  implements StudentCourseHomeworkService {
@@ -34,6 +35,9 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 	@Autowired
 	private ObjectMapper objectMapper;
 
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
+
 	private String url = "http://auth-server/queryUserInfo";
 
 	@Override
@@ -44,21 +48,8 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 	@Transactional(rollbackFor = Exception.class)
 	@Override
 	public long insert(StudentCourseHomework bean) {
-		HttpHeaders headers = new HttpHeaders();
-		headers.add("Authorization", "bearer " + SecurityUtils.getToken());
-		headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-
-		HttpEntity<MultiValueMap<String, String>> entity = new HttpEntity<MultiValueMap<String, String>>(null, headers);
-
-		ResponseEntity<String> resp = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
-
-		Map map = null;
-		try {
-			map = objectMapper.readValue(resp.getBody(), Map.class);
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		bean.setUserId(Long.valueOf(map.get("id").toString()));
+		SysUser user = sysUserFeignService.queryUserInfo();
+		bean.setUserId(Long.valueOf(user.getId()));
 		long insert = super.insert(bean);
 
 		CourseHomework courseHomework=new CourseHomework();
@@ -70,15 +61,15 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 
 	@Override
 	public CourseHomeworkStudentDetailDto findCourseHomeworkStudentDetail(Long courseScheduleID) throws IOException {
-		HttpHeaders headers = new HttpHeaders();
-		headers.add("Authorization", "bearer " + SecurityUtils.getToken());
-		headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-
-		HttpEntity<MultiValueMap<String, String>> entity = new HttpEntity<MultiValueMap<String, String>>(null, headers);
-
-		ResponseEntity<String> resp = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
+		SysUser user = sysUserFeignService.queryUserInfo();
+		return studentCourseHomeworkDao.findCourseHomeworkStudentDetail(courseScheduleID,Long.valueOf(user.getId()));
+	}
 
-		Map map =  objectMapper.readValue(resp.getBody(), Map.class);
-		return studentCourseHomeworkDao.findCourseHomeworkStudentDetail(courseScheduleID,Long.valueOf(map.get("id").toString()));
+	@Override
+	public PageInfo<StudentCourseHomework> queryPage(QueryInfo queryInfo) {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		CourseHomeworkQueryInfo courseHomeworkQueryInfo= (CourseHomeworkQueryInfo) queryInfo;
+		courseHomeworkQueryInfo.setUserId(Long.valueOf(user.getId()));
+		return super.queryPage(queryInfo);
 	}
 }

+ 22 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/SysAreaServiceImpl.java

@@ -0,0 +1,22 @@
+package com.ym.mec.web.service.impl;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.SysAreaDao;
+import com.ym.mec.web.dal.entity.SysArea;
+import com.ym.mec.web.service.SysAreaService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class SysAreaServiceImpl extends BaseServiceImpl<Integer, SysArea> implements SysAreaService {
+	
+	@Autowired
+	private SysAreaDao sysAreaDao;
+
+	@Override
+	public BaseDAO<Integer, SysArea> getDAO() {
+		return sysAreaDao;
+	}
+	
+}

+ 14 - 13
mec-web/src/main/java/com/ym/mec/web/service/impl/TeacherAttendanceServiceImpl.java

@@ -1,17 +1,21 @@
 package com.ym.mec.web.service.impl;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.web.dal.dao.CourseScheduleDao;
 import com.ym.mec.web.dal.dao.StudentAttendanceDao;
+import com.ym.mec.web.dal.dao.StudentCourseHomeworkDao;
 import com.ym.mec.web.dal.dao.TeacherAttendanceDao;
 import com.ym.mec.web.dal.dto.TeacherAttendanceDto;
 import com.ym.mec.web.dal.dto.TeacherPersonalAttendanceDto;
 import com.ym.mec.web.dal.dto.TeacherSignOutDto;
 import com.ym.mec.web.dal.entity.CourseHomework;
 import com.ym.mec.web.dal.entity.CourseSchedule;
+import com.ym.mec.web.dal.entity.StudentCourseHomework;
 import com.ym.mec.web.dal.entity.TeacherAttendance;
 import com.ym.mec.web.dal.enums.CourseStatusEnum;
 import com.ym.mec.web.dal.enums.ParamEnum;
@@ -23,8 +27,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
 import java.util.*;
 
 @Service
@@ -38,6 +40,10 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	private CourseHomeworkService courseHomeworkService;
 	@Autowired
 	private StudentAttendanceDao studentAttendanceDao;
+	@Autowired
+	private StudentCourseHomeworkDao studentCourseHomeworkDao;
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
 
 	@Override
 	public BaseDAO<Long, TeacherAttendance> getDAO() {
@@ -47,23 +53,15 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	@Transactional(rollbackFor = Exception.class)
 	@Override
 	public void addTeacherAttendanceRecord(TeacherSignOutDto teacherSignOutDto) {
+		SysUser user = sysUserFeignService.queryUserInfo();
 		TeacherAttendance teacherAttendance=teacherSignOutDto.getTeacherAttendanceInfo();
+		teacherAttendance.setTeacherId(Long.valueOf(user.getId()));
 		CourseSchedule courseSchedule=new CourseSchedule();
 		TeacherAttendanceDto currentCourseDetail = courseScheduleDao.getCurrentCourseDetail(teacherAttendance.getCourseScheduleId());
 		courseSchedule.setId(currentCourseDetail.getCourseScheduleId());
 		Date date = new Date();
 		if(teacherAttendance.getStatus()!= SignStatusEnum.YES_QUIT){
-			StringBuilder startClassDateTimeString=new StringBuilder(new SimpleDateFormat("yyyy-MM-dd").format(currentCourseDetail.getClassDate()));
-			startClassDateTimeString.append(" ");
-			startClassDateTimeString.append(new SimpleDateFormat("HH:mm:ss").format(currentCourseDetail.getStartClassTime()));
-			Date startClassTime = null;
-			try {
-				startClassTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
-						.parse(startClassDateTimeString.toString());
-			} catch (ParseException e) {
-				e.printStackTrace();
-			}
-			Long timeGap=(date.getTime()-startClassTime.getTime())/1000/60;
+			Long timeGap=(date.getTime()-currentCourseDetail.getStartClassTime().getTime())/1000/60;
 			if(timeGap<= ParamEnum.TEACHER_ATTENDANCE_TIME_GAP.getCode()){
 				teacherAttendance.setStatus(SignStatusEnum.SIGN);
 			}else{
@@ -86,6 +84,9 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			courseHomework.setClassGroupId(currentCourseDetail.getClassId().intValue());
 			courseHomework.setExpectNum(studentAttendanceDao.countNormalAttendanceStudentNums(teacherAttendance.getCourseScheduleId()));
 			courseHomeworkService.insert(courseHomework);
+			List<StudentCourseHomework> studentCourseHomeworks = studentCourseHomeworkDao.constructInitialStudentHomeworkRecords(teacherAttendance.getCourseScheduleId(),
+					courseHomework.getId());
+			studentCourseHomeworkDao.batchInsertStudentCourseHomeworkRecord(studentCourseHomeworks);
 		}
 	}
 

+ 23 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/TeacherDefaultMusicGroupSalaryServiceImpl.java

@@ -0,0 +1,23 @@
+package com.ym.mec.web.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.web.dal.dao.TeacherDefaultMusicGroupSalaryDao;
+import com.ym.mec.web.dal.entity.TeacherDefaultMusicGroupSalary;
+import com.ym.mec.web.service.TeacherDefaultMusicGroupSalaryService;
+
+@Service
+public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<Long, TeacherDefaultMusicGroupSalary>  implements TeacherDefaultMusicGroupSalaryService {
+	
+	@Autowired
+	private TeacherDefaultMusicGroupSalaryDao teacherDefaultMusicGroupSalaryDao;
+
+	@Override
+	public BaseDAO<Long, TeacherDefaultMusicGroupSalary> getDAO() {
+		return teacherDefaultMusicGroupSalaryDao;
+	}
+	
+}

+ 84 - 0
mec-web/src/main/resources/config/mybatis/ClassGroupTeacherMapperMapper.xml

@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.auth.dal.dao.ClassGroupTeacherMapperDao">
+	
+	<resultMap type="com.ym.mec.auth.api.entity.ClassGroupTeacherMapper" id="ClassGroupTeacherMapper">
+		<result column="id_" property="id" />
+		<result column="music_group_id_" property="musicGroupId" />
+		<result column="class_group_id_" property="classGroupId" />
+		<result column="teacher_role_" property="teacherRole" />
+		<result column="user_id_" property="userId" />
+		<result column="salary_" property="salary" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="ClassGroupTeacherMapper" >
+		SELECT * FROM class_group_teacher_mapper WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="ClassGroupTeacherMapper">
+		SELECT * FROM class_group_teacher_mapper ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.auth.api.entity.ClassGroupTeacherMapper" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!--
+		<selectKey resultClass="int" keyProperty="id" > 
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		</selectKey>
+		-->
+		INSERT INTO class_group_teacher_mapper (id_,music_group_id_,class_group_id_,teacher_role_,user_id_,salary_,create_time_,update_time_) VALUES(#{id},#{musicGroupId},#{classGroupId},#{teacherRole},#{userId},#{salary},#{createTime},#{updateTime})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.auth.api.entity.ClassGroupTeacherMapper">
+		UPDATE class_group_teacher_mapper <set>
+<if test="userId != null">
+user_id_ = #{userId},
+</if>
+<if test="id != null">
+id_ = #{id},
+</if>
+<if test="classGroupId != null">
+class_group_id_ = #{classGroupId},
+</if>
+<if test="salary != null">
+salary_ = #{salary},
+</if>
+<if test="updateTime != null">
+update_time_ = #{updateTime},
+</if>
+<if test="teacherRole != null">
+teacher_role_ = #{teacherRole},
+</if>
+<if test="musicGroupId != null">
+music_group_id_ = #{musicGroupId},
+</if>
+<if test="createTime != null">
+create_time_ = #{createTime},
+</if>
+</set> WHERE id_ = #{id} 
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM class_group_teacher_mapper WHERE id_ = #{id} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="ClassGroupTeacherMapper" parameterType="map">
+		SELECT * FROM class_group_teacher_mapper ORDER BY id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM class_group_teacher_mapper
+	</select>
+</mapper>

+ 47 - 4
mec-web/src/main/resources/config/mybatis/CourseHomeworkMapper.xml

@@ -17,6 +17,25 @@
 		<result column="class_group_id_" property="classGroupId" />
 		<result column="completed_num_" property="completedNum" />
 		<result column="expect_num_" property="expectNum" />
+		<result column="next_class_date_" property="expiryDate" />
+	</resultMap>
+
+	<resultMap type="com.ym.mec.web.dal.dto.CourseHomeworkListDto" id="CourseHomeworkDto">
+		<result column="id_" property="id" />
+		<result column="course_schedule_id_" property="courseScheduleId" />
+		<result column="content_" property="content" />
+		<result column="create_time_" property="createTime" />
+		<result column="start_class_time_" property="startClassTime" />
+		<result column="music_group_id_" property="musicGroupId" />
+		<result column="music_group_name_" property="musicGroupName" />
+		<result column="class_group_id_" property="classGroupId" />
+		<result column="class_group_name_" property="classGroupName" />
+		<result column="completed_num_" property="completedNum" />
+		<result column="expect_num_" property="expectNum" />
+		<result column="next_class_date_" property="expiryDate" />
+		<result column="remark_" property="remark" />
+		<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+		<result column="is_replied_" property="isReplied" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -84,16 +103,40 @@
 	<sql id="queryCondition">
 		<where>
 			<if test="createTime != null">
-				DATE_FORMAT(create_time_,"%Y%m%d") = DATE_FORMAT(#{createTime},"%Y%m%d")
+				DATE_FORMAT(ch.create_time_,"%Y%m%d") = DATE_FORMAT(#{createTime},"%Y%m%d")
+			</if>
+			<if test="musicGroupId != null">
+				and ch.music_group_id_ = #{musicGroupId}
+			</if>
+			<if test="classGroupId != null">
+				and ch.class_group_id_ = #{classGroupId}
+			</if>
+			<if test="userId != null">
+				and cs.actual_teacher_id_ = #{userId}
 			</if>
 		</where>
 	</sql>
 	
 	<!-- 分页查询 -->
-	<select id="queryPage" resultMap="CourseHomework" parameterType="map">
-		SELECT * FROM course_homework
+	<select id="queryPage" resultMap="CourseHomeworkDto" parameterType="map">
+		SELECT
+			ch.*,
+			mg.name_ music_group_name_,
+			cg.name_ class_group_name_,
+			temp.next_class_date_
+		FROM course_homework ch
+		LEFT JOIN course_schedule cs ON ch.course_schedule_id_=cs.id_
+		LEFT JOIN music_group mg ON ch.music_group_id_=mg.id_
+		LEFT JOIN class_group cg ON ch.class_group_id_=cg.id_
+		LEFT JOIN (SELECT
+					class_group_id_,
+					MIN(CONCAT( class_date_, ' ', start_class_time_ )) next_class_date_
+					FROM
+					course_schedule
+					WHERE CONCAT( class_date_, ' ', start_class_time_ )>now()
+					GROUP BY class_group_id_) temp ON ch.class_group_id_=temp.class_group_id_
 		<include refid="queryCondition"/>
-		ORDER BY id_
+		ORDER BY ch.id_
 		<include refid="global.limit"/>
 	</select>
 	

+ 1 - 1
mec-web/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -149,7 +149,7 @@
         SELECT
             cs.id_ ,
             cs.class_date_,
-            cs.start_class_time_,
+            CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
             cs.end_class_time_,
             cs.status_ course_status_,
             cg.id_ class_id,

+ 75 - 0
mec-web/src/main/resources/config/mybatis/LeaveCategoryMapper.xml

@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.web.dal.dao.LeaveCategoryDao">
+
+    <resultMap type="com.ym.mec.web.dal.entity.LeaveCategory" id="LeaveCategory">
+        <result column="id_" property="id"/>
+        <result column="name_" property="name"/>
+        <result column="del_flag_" property="delFlag" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="remark_" property="remark"/>
+        <result column="create_time_" property="createTime"/>
+        <result column="update_time_" property="updateTime"/>
+    </resultMap>
+
+    <!-- 根据主键查询一条记录 -->
+    <select id="get" resultMap="LeaveCategory">
+		SELECT * FROM leave_category WHERE id_ = #{id} 
+	</select>
+
+    <!-- 全查询 -->
+    <select id="findAll" resultMap="LeaveCategory">
+		SELECT * FROM leave_category ORDER BY id_
+	</select>
+
+    <!-- 向数据库增加一条记录 -->
+    <insert id="insert" parameterType="com.ym.mec.web.dal.entity.LeaveCategory" useGeneratedKeys="true" keyColumn="id"
+            keyProperty="id">
+        <!--
+        <selectKey resultClass="int" keyProperty="id" >
+        SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
+        </selectKey>
+        -->
+        INSERT INTO leave_category (id_,name_,del_flag_,remark_,create_time_,update_time_)
+        VALUES(#{id},#{name},#{delFlag, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{remark},now(),now())
+    </insert>
+
+    <!-- 根据主键查询一条记录 -->
+    <update id="update" parameterType="com.ym.mec.web.dal.entity.LeaveCategory">
+        UPDATE leave_category
+        <set>
+            <if test="delFlag != null">
+                del_flag_ = #{delFlag, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
+            <if test="remark != null">
+                remark_ = #{remark},
+            </if>
+            <if test="updateTime != null">
+                update_time_ = #{updateTime},
+            </if>
+            <if test="name != null">
+                name_ = #{name},
+            </if>
+        </set>
+        WHERE id_ = #{id}
+    </update>
+
+    <!-- 根据主键删除一条记录 -->
+    <delete id="delete">
+		DELETE FROM leave_category WHERE id_ = #{id} 
+	</delete>
+
+    <!-- 分页查询 -->
+    <select id="queryPage" resultMap="LeaveCategory" parameterType="map">
+        SELECT * FROM leave_category ORDER BY id_
+        <include refid="global.limit"/>
+    </select>
+
+    <!-- 查询当前表的总记录数 -->
+    <select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM leave_category
+	</select>
+</mapper>

+ 102 - 7
mec-web/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml

@@ -14,6 +14,9 @@
 		<result column="score_" property="score" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
+		<result column="remark_" property="remark" />
+		<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+		<result column="is_replied_" property="isReplied" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 	</resultMap>
 
 	<resultMap type="com.ym.mec.web.dal.dto.CourseHomeworkStudentDetailDto" id="CourseHomeworkStudentDetailDto">
@@ -26,6 +29,8 @@
 		<result column="expect_num_" property="expectNum" />
 		<result column="attachments_" property="attachments" />
 		<result column="score_" property="score" />
+		<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+		<result column="is_replied_" property="isReplied" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -45,12 +50,21 @@
 		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
 		</selectKey>
 		-->
-		INSERT INTO student_course_homework (id_,user_id_,course_homework_id_,attachments_,score_,create_time_,update_time_) VALUES(#{id},#{userId},#{courseHomeworkId},#{attachments},#{score},now(),now())
+		INSERT INTO student_course_homework (id_,user_id_,course_homework_id_,attachments_,score_,create_time_,update_time_,remark_,status_,is_replied_) VALUES(#{id},#{userId},#{courseHomeworkId},#{attachments},#{score},now(),now(),#{remark},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{isReplied,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
 	</insert>
-	
+
+	<insert id="batchInsertStudentCourseHomeworkRecord" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id_">
+		INSERT INTO student_course_homework (user_id_,course_homework_id_,attachments_,score_,create_time_,update_time_,remark_,status_,is_replied_)
+		VALUE
+		<foreach collection="list" item="homework" separator=",">
+			(#{homework.userId},#{homework.courseHomeworkId},#{homework.attachments},#{homework.score},now(),now(),#{homework.remark},#{homework.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{homework.isReplied,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
+		</foreach>
+	</insert>
+
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.ym.mec.web.dal.entity.StudentCourseHomework">
-		UPDATE student_course_homework <set>
+		UPDATE student_course_homework
+		<set>
 			<if test="id != null">
 			id_ = #{id},
 			</if>
@@ -69,6 +83,15 @@
 			<if test="createTime != null">
 			create_time_ = #{createTime},
 			</if>
+			<if test="remark != null">
+				remark_ = #{remark},
+			</if>
+			<if test="status != null">
+				status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+			</if>
+			<if test="isReplied != null">
+				is_replied_ = #{isReplied,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+			</if>
 		</set> WHERE id_ = #{id}
 	</update>
 	
@@ -76,15 +99,73 @@
 	<delete id="delete" >
 		DELETE FROM student_course_homework WHERE id_ = #{id} 
 	</delete>
+
+	<resultMap type="com.ym.mec.web.dal.dto.CourseHomeworkListDto" id="CourseHomeworkDto">
+		<result column="id_" property="id" />
+		<result column="course_schedule_id_" property="courseScheduleId" />
+		<result column="content_" property="content" />
+		<result column="create_time_" property="createTime" />
+		<result column="start_class_time_" property="startClassTime" />
+		<result column="music_group_id_" property="musicGroupId" />
+		<result column="music_group_name_" property="musicGroupName" />
+		<result column="class_group_id_" property="classGroupId" />
+		<result column="class_group_name_" property="classGroupName" />
+		<result column="completed_num_" property="completedNum" />
+		<result column="expect_num_" property="expectNum" />
+		<result column="next_class_date_" property="expiryDate" />
+		<result column="remark_" property="remark" />
+		<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+		<result column="is_replied_" property="isReplied" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+	</resultMap>
+
+	<sql id="queryCondition">
+		<where>
+			<if test="createTime != null">
+				DATE_FORMAT(ch.create_time_,"%Y%m%d") = DATE_FORMAT(#{createTime},"%Y%m%d")
+			</if>
+			<if test="musicGroupId != null">
+				and ch.music_group_id_ = #{musicGroupId}
+			</if>
+			<if test="classGroupId != null">
+				and ch.class_group_id_ = #{classGroupId}
+			</if>
+			<if test="userId != null">
+				and sch.user_id_ = #{userId}
+			</if>
+		</where>
+	</sql>
 	
 	<!-- 分页查询 -->
-	<select id="queryPage" resultMap="StudentCourseHomework" parameterType="map">
-		SELECT * FROM student_course_homework ORDER BY id_ <include refid="global.limit"/>
+	<select id="queryPage" resultMap="CourseHomeworkDto" parameterType="map">
+		SELECT
+		ch.*,
+		mg.name_ music_group_name_,
+		cg.name_ class_group_name_,
+		temp.next_class_date_,
+		sch.remark_,
+		sch.status_,
+		sch.is_replied_
+		FROM student_course_homework sch
+		LEFT JOIN course_homework ch ON sch.course_homework_id_=ch.id_
+		LEFT JOIN course_schedule cs ON ch.course_schedule_id_=cs.id_
+		LEFT JOIN music_group mg ON ch.music_group_id_=mg.id_
+		LEFT JOIN class_group cg ON ch.class_group_id_=cg.id_
+		LEFT JOIN (SELECT
+		class_group_id_,
+		MIN(CONCAT( class_date_, ' ', start_class_time_ )) next_class_date_
+		FROM
+		course_schedule
+		WHERE CONCAT( class_date_, ' ', start_class_time_ )>now()
+		GROUP BY class_group_id_) temp ON ch.class_group_id_=temp.class_group_id_
+		<include refid="queryCondition"/>
+		ORDER BY ch.id_
+		<include refid="global.limit"/>
 	</select>
 	
 	<!-- 查询当前表的总记录数 -->
 	<select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM student_course_homework
+		SELECT COUNT(*) FROM student_course_homework sch
+		<include refid="queryCondition"/>
 	</select>
 	<select id="findCourseHomeworkStudentDetail" resultMap="CourseHomeworkStudentDetailDto">
 		SELECT
@@ -96,7 +177,9 @@
 			ch.completed_num_,
 			ch.expect_num_,
 			sch.attachments_,
-			sch.score_
+			sch.score_,
+			sch.status_,
+			sch.is_replied_
 		FROM
 			course_homework ch
 		LEFT JOIN student_course_homework sch ON ch.id_=sch.course_homework_id_
@@ -104,4 +187,16 @@
 		LEFT JOIN class_group cg ON ch.class_group_id_=cg.id_
 		WHERE ch.course_schedule_id_=#{courseScheduleID} AND sch.user_id_=#{userID}
 	</select>
+	<select id="constructInitialStudentHomeworkRecords" resultMap="StudentCourseHomework">
+		SELECT
+			#{courseHomeworkID} course_homework_id_,
+			sa.user_id_,
+			0 status_,
+			0 is_replied_
+		FROM
+			student_attendance sa
+		WHERE
+			sa.course_schedule_id_ = #{courseScheduleID}
+			AND status_ = "NORMAL"
+	</select>
 </mapper>

+ 76 - 0
mec-web/src/main/resources/config/mybatis/StudentCourseHomeworkReplyMapper.xml

@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.web.dal.dao.StudentCourseHomeworkReplyDao">
+
+    <resultMap type="com.ym.mec.web.dal.entity.StudentCourseHomeworkReply" id="StudentCourseHomeworkReply">
+        <result column="id_" property="id"/>
+        <result column="student_course_homework_id_" property="studentCourseHomeworkId"/>
+        <result column="user_id_" property="userId"/>
+        <result column="content_" property="content"/>
+        <result column="create_time_" property="createTime"/>
+        <result column="parent_id_" property="parentId"/>
+    </resultMap>
+
+    <!-- 根据主键查询一条记录 -->
+    <select id="get" resultMap="StudentCourseHomeworkReply">
+		SELECT * FROM student_course_homework_reply WHERE id_ = #{id} 
+	</select>
+
+    <!-- 全查询 -->
+    <select id="findAll" resultMap="StudentCourseHomeworkReply">
+		SELECT * FROM student_course_homework_reply ORDER BY id_
+	</select>
+
+    <!-- 向数据库增加一条记录 -->
+    <insert id="insert" parameterType="com.ym.mec.web.dal.entity.StudentCourseHomeworkReply" useGeneratedKeys="true"
+            keyColumn="id" keyProperty="id">
+        <!--
+        <selectKey resultClass="int" keyProperty="id" >
+        SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
+        </selectKey>
+        -->
+        INSERT INTO student_course_homework_reply
+        (id_,student_course_homework_id_,user_id_,content_,create_time_,parent_id_)
+        VALUES(#{id},#{studentCourseHomeworkId},#{userId},#{content},now(),#{parentId})
+    </insert>
+
+    <!-- 根据主键查询一条记录 -->
+    <update id="update" parameterType="com.ym.mec.web.dal.entity.StudentCourseHomeworkReply">
+        UPDATE student_course_homework_reply
+        <set>
+            <if test="parentId != null">
+                parent_id_ = #{parentId},
+            </if>
+            <if test="studentCourseHomeworkId != null">
+                student_course_homework_id_ = #{studentCourseHomeworkId},
+            </if>
+            <if test="userId != null">
+                user_id_ = #{userId},
+            </if>
+            <if test="content != null">
+                content_ = #{content},
+            </if>
+        </set>
+        WHERE id_ = #{id}
+    </update>
+
+    <!-- 根据主键删除一条记录 -->
+    <delete id="delete">
+		DELETE FROM student_course_homework_reply WHERE id_ = #{id} 
+	</delete>
+
+    <!-- 分页查询 -->
+    <select id="queryPage" resultMap="StudentCourseHomeworkReply" parameterType="map">
+        SELECT * FROM student_course_homework_reply ORDER BY id_
+        <include refid="global.limit"/>
+    </select>
+
+    <!-- 查询当前表的总记录数 -->
+    <select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM student_course_homework_reply
+	</select>
+</mapper>

+ 79 - 0
mec-web/src/main/resources/config/mybatis/SysAreaMapper.xml

@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.web.dal.dao.SysAreaDao">
+
+    <resultMap type="com.ym.mec.web.dal.entity.SysArea" id="SysArea">
+        <result column="id_" property="id"/>
+        <result column="name_" property="name"/>
+        <result column="code_" property="code"/>
+        <result column="create_time_" property="createTime"/>
+        <result column="update_time_" property="updateTime"/>
+        <result column="del_flag_" property="delFlag" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="parent_organ_id_" property="parentOrganId"/>
+    </resultMap>
+
+    <!-- 根据主键查询一条记录 -->
+    <select id="get" resultMap="SysArea">
+		SELECT * FROM sys_area WHERE id_ = #{id} 
+	</select>
+
+    <!-- 全查询 -->
+    <select id="findAll" resultMap="SysArea">
+		SELECT * FROM sys_area ORDER BY id_
+	</select>
+
+    <!-- 向数据库增加一条记录 -->
+    <insert id="insert" parameterType="com.ym.mec.web.dal.entity.SysArea" useGeneratedKeys="true" keyColumn="id"
+            keyProperty="id">
+        <!--
+        <selectKey resultClass="int" keyProperty="id" >
+        SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
+        </selectKey>
+        -->
+        INSERT INTO sys_area (id_,name_,code_,create_time_,update_time_,del_flag_,parent_organ_id_)
+        VALUES(#{id},#{name},#{code},now(),now(),#{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{parentOrganId})
+    </insert>
+
+    <!-- 根据主键查询一条记录 -->
+    <update id="update" parameterType="com.ym.mec.web.dal.entity.SysArea">
+        UPDATE sys_area
+        <set>
+            <if test="delFlag != null">
+                del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
+            <if test="parentOrganId != null">
+                parent_organ_id_ = #{parentOrganId},
+            </if>
+            <if test="code != null">
+                code_ = #{code},
+            </if>
+            <if test="updateTime != null">
+                update_time_ = #{updateTime},
+            </if>
+            <if test="name != null">
+                name_ = #{name},
+            </if>
+        </set>
+        WHERE id_ = #{id}
+    </update>
+
+    <!-- 根据主键删除一条记录 -->
+    <delete id="delete">
+		DELETE FROM sys_area WHERE id_ = #{id} 
+	</delete>
+
+    <!-- 分页查询 -->
+    <select id="queryPage" resultMap="SysArea" parameterType="map">
+        SELECT * FROM sys_area ORDER BY id_
+        <include refid="global.limit"/>
+    </select>
+
+    <!-- 查询当前表的总记录数 -->
+    <select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM sys_area
+	</select>
+</mapper>

+ 84 - 0
mec-web/src/main/resources/config/mybatis/TeacherDefaultMusicGroupSalaryMapper.xml

@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.ym.mec.auth.dal.dao.TeacherDefaultMusicGroupSalaryDao">
+	
+	<resultMap type="com.ym.mec.auth.api.entity.TeacherDefaultMusicGroupSalary" id="TeacherDefaultMusicGroupSalary">
+		<result column="id_" property="id" />
+		<result column="user_id_" property="userId" />
+		<result column="class_group_type_" property="classGroupType" />
+		<result column="subject_id_" property="subjectId" />
+		<result column="main_teacher_salary_" property="mainTeacherSalary" />
+		<result column="assistant_teacher_salary_" property="assistantTeacherSalary" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+	</resultMap>
+	
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="TeacherDefaultMusicGroupSalary" >
+		SELECT * FROM teacher_default_music_group_salary WHERE id_ = #{id} 
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="TeacherDefaultMusicGroupSalary">
+		SELECT * FROM teacher_default_music_group_salary ORDER BY id_
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.auth.api.entity.TeacherDefaultMusicGroupSalary" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!--
+		<selectKey resultClass="int" keyProperty="id" > 
+		SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL 
+		</selectKey>
+		-->
+		INSERT INTO teacher_default_music_group_salary (id_,user_id_,class_group_type_,subject_id_,main_teacher_salary_,assistant_teacher_salary_,create_time_,update_time_) VALUES(#{id},#{userId},#{classGroupType},#{subjectId},#{mainTeacherSalary},#{assistantTeacherSalary},#{createTime},#{updateTime})
+	</insert>
+	
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.auth.api.entity.TeacherDefaultMusicGroupSalary">
+		UPDATE teacher_default_music_group_salary <set>
+<if test="subjectId != null">
+subject_id_ = #{subjectId},
+</if>
+<if test="userId != null">
+user_id_ = #{userId},
+</if>
+<if test="id != null">
+id_ = #{id},
+</if>
+<if test="updateTime != null">
+update_time_ = #{updateTime},
+</if>
+<if test="classGroupType != null">
+class_group_type_ = #{classGroupType},
+</if>
+<if test="mainTeacherSalary != null">
+main_teacher_salary_ = #{mainTeacherSalary},
+</if>
+<if test="assistantTeacherSalary != null">
+assistant_teacher_salary_ = #{assistantTeacherSalary},
+</if>
+<if test="createTime != null">
+create_time_ = #{createTime},
+</if>
+</set> WHERE id_ = #{id} 
+	</update>
+	
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete" >
+		DELETE FROM teacher_default_music_group_salary WHERE id_ = #{id} 
+	</delete>
+	
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="TeacherDefaultMusicGroupSalary" parameterType="map">
+		SELECT * FROM teacher_default_music_group_salary ORDER BY id_ <include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM teacher_default_music_group_salary
+	</select>
+</mapper>