Ver Fonte

Merge branch 'online1' into repair_export_feature

周箭河 há 4 anos atrás
pai
commit
c709265988

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

@@ -16,6 +16,8 @@ public class TeacherServeDto {
 
     private String teacherName;
 
+    private String dateRange;
+
     private String organName;
 
     private int homeworkNum;
@@ -107,4 +109,12 @@ public class TeacherServeDto {
     public void setSunday(Date sunday) {
         this.sunday = sunday;
     }
+
+    public String getDateRange() {
+        return dateRange;
+    }
+
+    public void setDateRange(String dateRange) {
+        this.dateRange = dateRange;
+    }
 }

+ 25 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ApprovalStatus.java

@@ -3,7 +3,31 @@ package com.ym.mec.biz.dal.entity;
 import com.ym.mec.common.enums.BaseEnum;
 
 public enum ApprovalStatus implements BaseEnum<String, ApprovalStatus> {
-	APPROVED, DENIED, PROCESSING, CANCELED;
+	APPROVED("APPROVED", "同意"),
+	DENIED("DENIED", "拒绝"),
+	PROCESSING("PROCESSING", "处理中"),
+	CANCELED("CANCELED", "取消");
+
+	private String code;
+
+	private String msg;
+
+	ApprovalStatus(String code, String msg) {
+		this.code = code;
+		this.msg = msg;
+	}
+
+	public String getMsg() {
+		return msg;
+	}
+
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
 
 	@Override
 	public String getCode() {

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupQuitQueryInfo.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.page;
 
+import com.ym.mec.biz.dal.entity.ApprovalStatus;
 import com.ym.mec.common.page.QueryInfo;
 
 public class MusicGroupQuitQueryInfo extends QueryInfo {
@@ -9,6 +10,16 @@ public class MusicGroupQuitQueryInfo extends QueryInfo {
 
     private Boolean visitFlag;
 
+    private ApprovalStatus status;
+
+    public ApprovalStatus getStatus() {
+        return status;
+    }
+
+    public void setStatus(ApprovalStatus status) {
+        this.status = status;
+    }
+
     public Boolean getVisitFlag() {
         return visitFlag;
     }

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

@@ -59,4 +59,12 @@ public interface ImGroupService extends BaseService<Long, ImGroup> {
 	 * @return
 	 */
     int updateNickName(Integer userId, String nickName);
+
+	/**
+	 * 修改用户在群、通讯录的备注
+	 * @param userId
+	 * @param nickName
+	 * @return
+	 */
+	void updateNickName1(Integer userId, String nickName);
 }

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImGroupServiceImpl.java

@@ -135,4 +135,22 @@ public class ImGroupServiceImpl extends BaseServiceImpl<Long, ImGroup> implement
 		return i;
 	}
 
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void updateNickName1(Integer userId, String nickName) {
+		//修改群成员备注
+		imGroupDao.updateNickname(userId, nickName);
+		imGroupDao.updateUserFriendNickname(userId, nickName);
+		//修改sysUser名称,如果包含学员的角色,那么修改userName。否则修改realName
+		SysUser sysUser = sysUserFeignService.queryUserById(userId);
+		if(sysUser.getUserType().contains("STUDENT")){
+			sysUser.setUsername(nickName);
+		}else {
+			sysUser.setRealName(nickName);
+		}
+		sysUserFeignService.updateSysUser(sysUser);
+		//同步融云基本信息
+		imFeignService.update(new ImUserModel(sysUser.getId().toString(),nickName,sysUser.getAvatar()));
+	}
+
 }

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

@@ -114,6 +114,10 @@
             <if test="organId != null and organId != ''">
                 AND FIND_IN_SET(mg.organ_id_,#{organId})
             </if>
+
+            <if test="status != null">
+                AND mgq.status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            </if>
             <if test="search != null and search != ''">
                 AND (mgq.user_id_ = #{search} OR mgq.music_group_id_ = #{search})
             </if>

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

@@ -942,7 +942,7 @@ public class RoomServiceImpl implements RoomService {
         if(roomMembers.size() == 0){
             return false;
         }
-        if (data.getExamSongOn() != null) {
+        if (data.getExamSongOn() != null || data.getMusicScoreOn() != null || data.getAccompanimentOn() != null) {
             if(StringUtils.isNotEmpty(data.getUserId())){
                 for (RoomMember e:roomMembers) {
                     data.setUserId(e.getUid());

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

@@ -62,6 +62,8 @@ public class ExportController extends BaseController {
     @Autowired
     private SysUserFeignService sysUserFeignService;
     @Autowired
+    private EmployeeService employeeService;
+    @Autowired
     private EmployeeDao employeeDao;
     @Autowired
     private StudentPaymentOrderService studentPaymentOrderService;
@@ -135,6 +137,8 @@ public class ExportController extends BaseController {
     private ManagerDownloadDao managerDownloadDao;
     @Autowired
     private IdGeneratorService idGeneratorService;
+    @Autowired
+    private MusicGroupQuitService musicGroupQuitService;
 
     @ApiOperation(value = "班级列表导出")
     @PostMapping("export/classGroup")
@@ -2376,4 +2380,168 @@ public class ExportController extends BaseController {
             }
         }
     }
+
+    @ApiOperation(value = "欠费学员列表导出")
+    @RequestMapping("export/arrearageStudents")
+    @PreAuthorize("@pcs.hasPermissions('export/arrearageStudents')")
+    public void arrearageStudents(ArrearageStudentsQueryInfo queryInfo, HttpServletResponse response) throws IOException {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            throw new BizException("用户信息获取失败");
+        }
+        Employee employee = employeeService.get(sysUser.getId());
+        if (StringUtils.isBlank(queryInfo.getOrganIds())) {
+            queryInfo.setOrganIds(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.getOrganIds().split(",")))){
+                throw new BizException("非法请求");
+            }
+        }
+        queryInfo.setPage(1);
+        queryInfo.setRows(49999);
+        PageInfo<MusicArrearageStudentDto> result = musicGroupPaymentCalenderDetailService.queryArrearageStudents(queryInfo);
+        if (CollectionUtils.isEmpty(result.getRows())) {
+            response.setStatus(200);
+            response.setContentType("Content-Type: application/json;charset=UTF-8");
+            response.getOutputStream().write("{\"data\": null, \"code\": 500, \"status\": false, \"msg\": \"没有可导出的记录\"}".getBytes());
+            response.flushBuffer();
+            return;
+        }
+        OutputStream outputStream = response.getOutputStream();
+        try {
+            String[] header = {"学员编号", "学员姓名", "所属分部", "合作单位", "所在乐团", "乐团主管", "声部", "性别", "家长姓名", "家长联系电话", "欠费金额"};
+            String[] body = {"userId", "studentName", "organName", "cooperationName", "musicGroupName", "eduTeacherName", "subjectName", "gender==0?'女':'男'", "parentName", "phone", "noPaymentAmount"};
+            HSSFWorkbook workbook = POIUtil.exportExcel(header, body, result.getRows());
+            response.setContentType("application/octet-stream");
+            response.setHeader("Content-Disposition", "attachment;filename=teacherDefaultSalary-" + 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 = "退团申请列表导出")
+    @RequestMapping("export/musicGroupQuit")
+    @PreAuthorize("@pcs.hasPermissions('export/musicGroupQuit')")
+    public void musicGroupQuit(MusicGroupQuitQueryInfo queryInfo, HttpServletResponse response) throws IOException {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            throw new BizException("用户信息获取失败");
+        }
+        Employee employee = employeeService.get(sysUser.getId());
+        if (StringUtils.isBlank(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("非法请求");
+            }
+        }
+        queryInfo.setPage(1);
+        queryInfo.setRows(49999);
+        PageInfo<MusicGroupQuit> result = musicGroupQuitService.queryPage(queryInfo);
+        if (CollectionUtils.isEmpty(result.getRows())) {
+            response.setStatus(200);
+            response.setContentType("Content-Type: application/json;charset=UTF-8");
+            response.getOutputStream().write("{\"data\": null, \"code\": 500, \"status\": false, \"msg\": \"没有可导出的记录\"}".getBytes());
+            response.flushBuffer();
+            return;
+        }
+        OutputStream outputStream = response.getOutputStream();
+        try {
+            String[] header = {"学员编号", "学员姓名", "所属乐团", "申请时间", "退团原因", "状态"};
+            String[] body = {"userId", "user.username", "musicGroup.name", "createTime", "userComment", "status.getMsg()"};
+            HSSFWorkbook workbook = POIUtil.exportExcel(header, body, result.getRows());
+            response.setContentType("application/octet-stream");
+            response.setHeader("Content-Disposition", "attachment;filename=teacherDefaultSalary-" + 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 = "服务指标明细导出")
+    @RequestMapping("export/teacherServeInfo")
+    @PreAuthorize("@pcs.hasPermissions('export/teacherServeInfo')")
+    public void teacherServeInfo(TeacherServeQueryInfo queryInfo, HttpServletResponse response) throws IOException {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            throw new BizException("用户信息获取失败");
+        }
+        Employee employee = employeeService.get(sysUser.getId());
+        if (StringUtils.isBlank(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("非法请求");
+            }
+        }
+        queryInfo.setPage(1);
+        queryInfo.setRows(49999);
+        PageInfo<TeacherServeDto> result = studentExtracurricularExercisesSituationService.queryTeacherServeInfo(queryInfo);
+        if (CollectionUtils.isEmpty(result.getRows())) {
+            response.setStatus(200);
+            response.setContentType("Content-Type: application/json;charset=UTF-8");
+            response.getOutputStream().write("{\"data\": null, \"code\": 500, \"status\": false, \"msg\": \"没有可导出的记录\"}".getBytes());
+            response.flushBuffer();
+            return;
+        }
+        OutputStream outputStream = response.getOutputStream();
+
+        for (TeacherServeDto row : result.getRows()) {
+            row.setDateRange(com.ym.mec.util.date.DateUtil.dateToString(row.getMonday(), "yyyy-MM-dd") + '~' + com.ym.mec.util.date.DateUtil.dateToString(row.getSunday(), "yyyy-MM-dd"));
+        }
+
+        try {
+            String[] header = {"分部", "老师编号", "老师姓名", "服务周期", "课后作业(节)", "课外作业(人)", "是否异常", "提醒时间", "操作人"};
+            String[] body = {"organName", "teacherId", "teacherName", "dateRange", "homeworkNum", "exerciseNum", "unDone==0?'否':'是'", "remindDate", "operatorName"};
+            HSSFWorkbook workbook = POIUtil.exportExcel(header, body, result.getRows());
+            response.setContentType("application/octet-stream");
+            response.setHeader("Content-Disposition", "attachment;filename=teacherDefaultSalary-" + 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();
+                }
+            }
+        }
+    }
 }

+ 2 - 1
mec-web/src/main/java/com/ym/mec/web/controller/ImGroupController.java

@@ -80,7 +80,8 @@ public class ImGroupController extends BaseController {
 	@ApiOperation("修改群成员信息")
 	@PostMapping(value = "/updateNickName")
 	public Object updateNickName(Integer userId,String nickName) {
-		return succeed(imGroupService.updateNickName(userId,nickName));
+		imGroupService.updateNickName1(userId,nickName);
+		return succeed();
 	}
 
 	@ApiOperation("查询群成员列表")