zouxuan 3 anni fa
parent
commit
93443e74a0

+ 9 - 1
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysRoleMapper.xml

@@ -68,13 +68,21 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="SysRole" parameterType="map">
-        SELECT * FROM sys_role WHERE del_flag_ = 0 and tenant_id_ = #{tenantId} ORDER BY update_time_ DESC
+        SELECT * FROM sys_role
+        WHERE del_flag_ = 0 AND tenant_id_ = #{tenantId}
+        <if test="search != null and search != ''">
+            AND role_name_ = #{search}
+        </if>
+        ORDER BY update_time_ DESC
         <include refid="global.limit"/>
     </select>
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM sys_role WHERE del_flag_ = 0 and tenant_id_ = #{tenantId}
+        <if test="search != null and search != ''">
+            AND role_name_ = #{search}
+        </if>
 	</select>
 
     <select id="findRoleByUserId" resultMap="SysRole">

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

@@ -27,6 +27,17 @@ public class AccountLogQueryInfo extends QueryInfo {
 
     private Boolean returnFeeFlag;
 
+    //需要导出的列
+    private String[] headColumns;
+
+    public String[] getHeadColumns() {
+        return headColumns;
+    }
+
+    public void setHeadColumns(String[] headColumns) {
+        this.headColumns = headColumns;
+    }
+
     public Boolean getReturnFeeFlag() {
         return returnFeeFlag;
     }

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

@@ -146,6 +146,36 @@ public class ExportController extends BaseController {
     @Autowired
     private SysUserCashAccountLogService sysUserCashAccountLogService;
 
+    public <T> void export(HttpServletResponse response,List<T> rows) throws IOException {
+        if(rows == null || rows.size() < 1){
+            throw new BizException("没有可导出数据");
+        }
+        OutputStream outputStream = response.getOutputStream();
+        try {
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"退费编号", "学员编号", "学员姓名","分部", "课程组编号", "课程组类型",
+                    "退费金额","退费类型","退费时间","交易流水号", "打款时间"}, new String[]{
+                    "id", "userId","username", "organName", "groupId","groupType.desc",
+                    "amount", "returnFeeType.msg", "createTime", "transNo","payTime"}, rows);
+            response.setContentType("application/octet-stream");
+            response.setHeader("Content-Disposition", "attac:wq" +
+                    "hment;filename=classGroup-" + DateUtil.getDate(new Date()) + ".xls");
+
+            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/userCashAccountLog")
     @PreAuthorize("@pcs.hasPermissions('export/userCashAccountLog')")
@@ -1091,7 +1121,8 @@ public class ExportController extends BaseController {
         OutputStream outputStream = response.getOutputStream();
         try {
             HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部", "乐团", "学员编号", "学员姓名", "声部", "购买乐器", "乐器采购方式", "乐器金额", "购买教辅", "教辅金额", "课程金额", "团练宝金额", "乐保金额", "订单总价"}, new String[]{
-                    "organName", "musicGroupName", "userId", "username", "subjectName", "musicalName", "kitGroupPurchaseTypeEnum.msg", "musicalAmount", "accessoriesName", "accessoriesAmount", "courseAmount", "cloudTeacherAmount", "maintenanceAmount", "orderAmount"}, musicalList);
+                    "organName", "musicGroupName", "userId", "username", "subjectName", "musicalName", "kitGroupPurchaseTypeEnum.msg",
+                    "musicalAmount", "accessoriesName", "accessoriesAmount", "courseAmount", "cloudTeacherAmount", "maintenanceAmount", "orderAmount"}, musicalList);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
             
@@ -1149,8 +1180,11 @@ public class ExportController extends BaseController {
         }
         OutputStream outputStream = response.getOutputStream();
         try {
-            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"学生姓名", "家长姓名", "年级", "班级", "性别", "服从调剂", "报名专业", "实际专业", "联系电话", "学员缴费状态", "乐器购买方式","缴费中/审核中","是否购买团练宝"}, new String[]{
-                    "studentName", "parentsName", "currentGrade", "currentClass", "gender.description", "isAllowAdjust.msg", "subjectName", "actualSubjectName", "parentsPhone", "paymentStatus.desc", "kitGroupPurchaseTypeEnum.msg","payingStatusStr","hasCloudTeacher==1?'有':'没有'"}, studentApplyDetail);
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"学生姓名", "家长姓名", "年级", "班级", "性别", "服从调剂", "报名专业",
+                    "实际专业", "联系电话", "学员缴费状态", "乐器购买方式","缴费中/审核中","是否购买团练宝"}, new String[]{
+                    "studentName", "parentsName", "currentGrade", "currentClass", "gender.description",
+                    "isAllowAdjust.msg", "subjectName", "actualSubjectName", "parentsPhone", "paymentStatus.desc",
+                    "kitGroupPurchaseTypeEnum.msg","payingStatusStr","hasCloudTeacher==1?'有':'没有'"}, studentApplyDetail);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
             
@@ -1412,8 +1446,11 @@ public class ExportController extends BaseController {
                 }
             }
 
-            String[] header = {"分部", "上课日期", "学生编号", "课程编号", "学员是否到课", "课程班名称", "老师", "教材内容", "发音", "节奏", "乐理", "曲目", "评价备注", "回访日期(布置训练)", "完成app双向沟通", "学员评分", "是否布置训练", "是否提交训练", "是否回复训练", "教务老师", "教务评价"};
-            String[] body = {"organName", "classDateStr", "studentId", "id", "attendanceStr", "courseName", "teacherName", "teachingMaterial", "pronunciationStr", "tempoStr", "musicTheoryStr", "song", "memo", "createTimeStr", "hasLiaison", "studentReview", "assignHomeworkStr", "handHomeworkStr", "homeWorkReplied", "eduTeacherName", "courseReview"};
+            String[] header = {"分部", "上课日期", "学生编号", "课程编号", "学员是否到课", "课程班名称", "老师", "教材内容", "发音", "节奏",
+                    "乐理", "曲目", "评价备注", "回访日期(布置训练)", "完成app双向沟通", "学员评分", "是否布置训练", "是否提交训练", "是否回复训练", "教务老师", "教务评价"};
+            String[] body = {"organName", "classDateStr", "studentId", "id", "attendanceStr", "courseName",
+                    "teacherName", "teachingMaterial", "pronunciationStr", "tempoStr", "musicTheoryStr", "song",
+                    "memo", "createTimeStr", "hasLiaison", "studentReview", "assignHomeworkStr", "handHomeworkStr", "homeWorkReplied", "eduTeacherName", "courseReview"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, practiceGroupReviews.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
@@ -1476,8 +1513,10 @@ public class ExportController extends BaseController {
         }
 
         try {
-            String[] header = {"分部", "学生编号", "学生姓名", "网管课老师id", "网管课老师", "教务老师id", "教务老师", "有效期截止时间", "课程截止时间", "总课时", "剩余课时", "是否购买"};
-            String[] body = {"organName", "studentId", "studentName", "teacherIds", "teacherName", "eduTeacherIds", "eduTeacherName", "expireDate", "classEndDate", "totalClassTimes", "noStartClassTimes", "buyPractice.msg"};
+            String[] header = {"分部", "学生编号", "学生姓名", "网管课老师id", "网管课老师", "教务老师id", "教务老师",
+                    "有效期截止时间", "课程截止时间", "总课时", "剩余课时", "是否购买"};
+            String[] body = {"organName", "studentId", "studentName", "teacherIds", "teacherName", "eduTeacherIds",
+                    "eduTeacherName", "expireDate", "classEndDate", "totalClassTimes", "noStartClassTimes", "buyPractice.msg"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, practiceGroupExports);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
@@ -1591,7 +1630,8 @@ public class ExportController extends BaseController {
         try {
             HSSFWorkbook workbook = POIUtil.exportExcel(
                     new String[]{"布置时间", "截至时间", "训练标题", "老师名字", "分部", "学生姓名", "学生编号", "提交训练", "提交训练时间", "是否评价", "是否有vip", "及时评价"},
-                    new String[]{"createTime", "expireDate", "title", "teacherName", "organName", "user.username", "userId", "statusStr", "submitTime", "isRepliedStr", "existVipCourseStr", "isRepliedTimelyStr"}, rows);
+                    new String[]{"createTime", "expireDate", "title", "teacherName", "organName",
+                            "user.username", "userId", "statusStr", "submitTime", "isRepliedStr", "existVipCourseStr", "isRepliedTimelyStr"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
             ouputStream = response.getOutputStream();
@@ -1624,8 +1664,11 @@ public class ExportController extends BaseController {
         OutputStream ouputStream = null;
         try {
             HSSFWorkbook workbook = POIUtil.exportExcel(
-                    new String[]{"学员编号", "学员姓名", "所属分部", "乐团名称", "指导老师", "教务老师", "服务课程", "预期安排", "实际安排", "提交次数", "评价次数", "及时评价次数", "付费网管课", "VIP课", "训练提交时间"},
-                    new String[]{"studentId", "studentName", "organName", "groupNames", "teacherName", "educationalTeacherName", "serveType == 'EXERCISE' ? '课外训练':courseIds", "expectExercisesNum", "actualExercisesNum", "exercisesReplyNum",
+                    new String[]{"学员编号", "学员姓名", "所属分部", "乐团名称", "指导老师", "教务老师", "服务课程",
+                            "预期安排", "实际安排", "提交次数", "评价次数", "及时评价次数", "付费网管课", "VIP课", "训练提交时间"},
+                    new String[]{"studentId", "studentName", "organName", "groupNames", "teacherName",
+                            "educationalTeacherName", "serveType == 'EXERCISE' ? '课外训练':courseIds",
+                            "expectExercisesNum", "actualExercisesNum", "exercisesReplyNum",
                             "exercisesMessageNum", "exercisesMessageTimelyNum", "existPracticeCourse", "existVipCourse", "lastSubmitTime"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
@@ -1755,7 +1798,8 @@ public class ExportController extends BaseController {
 
             HSSFWorkbook workbook = POIUtil.exportExcel(
                     new String[]{"分部", "乐团名称", "学生", "学生编号", "指导老师", "指导老师id", "参与运营指标", "有线上VIP课", "参与免费网管课", "有付费网管课", "有乐团网管课"},
-                    new String[]{"organName", "groupNames", "studentName", "studentId", "teacherName", "teacherId", "operatingTagStr", "vipTimesStr", "freePracticeTimesStr", "buyPracticeTimesStr", "musicNetWorkTimesStr"}, rows);
+                    new String[]{"organName", "groupNames", "studentName", "studentId", "teacherName", "teacherId",
+                            "operatingTagStr", "vipTimesStr", "freePracticeTimesStr", "buyPracticeTimesStr", "musicNetWorkTimesStr"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
             ouputStream = response.getOutputStream();
@@ -1778,7 +1822,6 @@ public class ExportController extends BaseController {
     @RequestMapping("export/vipCourseReviews")
     @PreAuthorize("@pcs.hasPermissions('export/vipCourseReviews')")
     public void vipCourseReviews(CourseReviewQueryInfo queryInfo, HttpServletResponse response) throws IOException {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
         queryInfo.setOrganId(organizationService.getEmployeeOrgan(queryInfo.getOrganId()));
         queryInfo.setIsExport(1);
         queryInfo.setPage(1);
@@ -1832,8 +1875,11 @@ public class ExportController extends BaseController {
                 }
             }
 
-            String[] header = {"分部", "上课日期", "课程编号", "课程班名称", "老师", "教材内容", "发音", "节奏", "乐理", "曲目", "评价备注", "回访日期(布置训练)", "是否布置训练", "是否提交训练", "教务老师", "教务评价"};
-            String[] body = {"organName", "classDateStr", "id", "courseName", "teacherName", "teachingMaterial", "pronunciationStr", "tempoStr", "musicTheoryStr", "song", "memo", "createTimeStr", "assignHomeworkStr", "handHomeworkStr", "eduTeacherName", "courseReview"};
+            String[] header = {"分部", "上课日期", "课程编号", "课程班名称", "老师", "教材内容", "发音", "节奏", "乐理",
+                    "曲目", "评价备注", "回访日期(布置训练)", "是否布置训练", "是否提交训练", "教务老师", "教务评价"};
+            String[] body = {"organName", "classDateStr", "id", "courseName", "teacherName", "teachingMaterial",
+                    "pronunciationStr", "tempoStr", "musicTheoryStr", "song", "memo", "createTimeStr", "assignHomeworkStr",
+                    "handHomeworkStr", "eduTeacherName", "courseReview"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, practiceGroupReviews.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
@@ -1882,7 +1928,8 @@ public class ExportController extends BaseController {
             }
 
             String[] header = {"姓名", "性别", "身份证号", "城市", "学校", "报考乐器", "报考级别", "乐理级别", "乐理级别证书", "家长联系电话", "考级费用", "乐理费用", "备注", "缴费状态", "订单编号", "商户订单号", "报名时间"};
-            String[] body = {"name", "gender", "idcard", "city", "school", "subject", "level", "theoryLevel", "theoryCert", "mobile", "money", "theoryMoney", "memo", "statusStr", "orderNo", "transNo", "createTime"};
+            String[] body = {"name", "gender", "idcard", "city", "school", "subject", "level", "theoryLevel",
+                    "theoryCert", "mobile", "money", "theoryMoney", "memo", "statusStr", "orderNo", "transNo", "createTime"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, pageList.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
@@ -2402,7 +2449,8 @@ public class ExportController extends BaseController {
         OutputStream outputStream = response.getOutputStream();
         try {
             String[] header = {"学员编号", "学员姓名", "所属分部", "合作单位", "所在乐团", "乐团主管", "声部", "性别", "家长姓名", "家长联系电话", "欠费金额"};
-            String[] body = {"userId", "studentName", "organName", "cooperationName", "musicGroupName", "eduTeacherName", "subjectName", "gender==0?'女':'男'", "parentName", "phone", "noPaymentAmount"};
+            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");
@@ -2533,10 +2581,10 @@ public class ExportController extends BaseController {
         try {
             String[] header = {"分部", "基础技能班学员数量异常", "乐团巡查事项异常", "未在班级学员数", "欠费学员数",
                     "申请退团学员数", "预计课酬较低", "课程时间安排异常", "乐团巡查未计划", "乐团巡查任务未提交",
-                    "回访任务未完成", "课程考勤异常", "课程异常", "服务指标异常", "异常请假", "会员过期学员数", "总计",};
+                    "回访任务未完成", "课程考勤异常", "课程异常", "服务指标异常", "异常请假", "会员过期学员数", "总计"};
             String[] body = {"organName", "highClassStudentLessThanThreeNum", "musicPatrolItem", "noClassMusicGroupStudentInfo", "studentNotPayment",
                     "studentApplyForQuitMusicGroup", "teacherExpectSalaryBeLow", "courseTimeError", "inspectionItem", "inspectionItemPlan",
-                    "studentVisit", "teacherExceptionAttendance", "teacherNotAClass", "teacherServeError", "studentErrorLeave", "noMemberStudentNum", "total",};
+                    "studentVisit", "teacherExceptionAttendance", "teacherNotAClass", "teacherServeError", "studentErrorLeave", "noMemberStudentNum", "total"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, result);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=teacherDefaultSalary-" + DateUtil.getDate(new Date()) + ".xls");
@@ -2807,7 +2855,7 @@ public class ExportController extends BaseController {
         }
     }
 
-    @ApiOperation(value = "分部云教练学员数据预览导出")
+    @ApiOperation(value = "分部云教练学员数据详情导出")
     @RequestMapping("export/cloudStudyStudentOverView")
     @PreAuthorize("@pcs.hasPermissions('export/cloudStudyStudentOverView')")
     public void cloudStudyStudentOverView(OrganCloudStudyStudentDataQueryInfo queryInfo,HttpServletResponse response) throws IOException {
@@ -3011,10 +3059,6 @@ public class ExportController extends BaseController {
         queryInfo.setRows(49999);
         PageInfo<MusicEnlightenmentQuestionnaire> practiceGroupReviews = musicEnlightenmentQuestionnaireService.queryPage(queryInfo);
         if (practiceGroupReviews.getTotal() <= 0) {
-            
-            
-            
-            
             return;
         }
         OutputStream outputStream = response.getOutputStream();
@@ -3025,7 +3069,8 @@ public class ExportController extends BaseController {
                 }
             }
             String[] header = {"学员姓名","联系电话","年级","班级","老师推荐专业","是否在学习某件乐器","目前所学乐器","报名参加管乐团家长会了解相关情况","备注"};
-            String[] body = {"userName","phone","currentGrade","currentClass","subjectName","musicalInstrumentsLearning?'是':'否'","musicalInstrumentsName","joinParentMeeting?'是':'否'","remark",};
+            String[] body = {"userName","phone","currentGrade","currentClass","subjectName","musicalInstrumentsLearning?'是':'否'",
+                    "musicalInstrumentsName","joinParentMeeting?'是':'否'","remark"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, practiceGroupReviews.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
@@ -3054,16 +3099,14 @@ public class ExportController extends BaseController {
         queryInfo.setRows(49999);
         List<TeacherServeDto> list = studentExtracurricularExercisesSituationService.queryTeacherPerformanceIndicator(queryInfo);
         if (list.size() <= 0) {
-            
-            
-            
-            
             return;
         }
         OutputStream outputStream = response.getOutputStream();
         try {
             String[] header = {"分部","老师编号","老师姓名","预计安排(人次)","实际安排(人次)","布置率(%)","提交人数","点评次数","点评率(%)","及时点评次数","及时点评率(%)"};
-            String[] body = {"organName","teacherId","teacherName","expectExercisesNum","actualExercisesNum","100 * actualExercisesNum / expectExercisesNum","exercisesReplyNum","exercisesMessageNum","100 * exercisesMessageNum / exercisesReplyNum", "exercisesMessageTimelyNum","100 * exercisesMessageTimelyNum / exercisesReplyNum"};
+            String[] body = {"organName","teacherId","teacherName","expectExercisesNum","actualExercisesNum",
+                    "100 * actualExercisesNum / expectExercisesNum","exercisesReplyNum","exercisesMessageNum",
+                    "100 * exercisesMessageNum / exercisesReplyNum", "exercisesMessageTimelyNum","100 * exercisesMessageTimelyNum / exercisesReplyNum"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, list);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=teacherPerformanceIndicator-" + DateUtil.getDate(new Date()) + ".xls");

+ 252 - 0
mec-web/src/main/resources/exportColumnMapper.ini

@@ -0,0 +1,252 @@
+[退费记录导出]
+
+headColumns = ["退费编号", "学员编号", "学员姓名","分部", "课程组编号", "课程组类型","退费金额","退费类型","退费时间","交易流水号", "打款时间"]
+fieldColumns = ["id", "userId","username", "organName", "groupId","groupType.desc","amount", "returnFeeType.msg", "createTime", "transNo","payTime"]
+
+[乐团列表导出]
+headColumns = ["分部", "乐团编号", "乐团名称","合作单位", "乐团状态","收费模式","收费类型","乐团主管","成团人数", "在读人数", "申请时间", "成团时间", "清单状态"]
+fieldColumns = ["organName", "id", "name","cooperationOrganName", "status.msg", "courseViewType.msg","chargeTypeName","educationalTeacherName", "teamTeacherName", "groupMemberNum","payNum","createTime","updateTime","hasVerifyMusicalList?'已确认':'未确认'"]
+
+[21年暑期考级活动统计页面详情导出]
+headColumns = ["分部", "合作单位", "乐团","学员编号", "学员姓名", "手机号","声部","所在班级","指导老师", "是否预约", "器乐等级", "乐理等级", "是否购买VIP","是否购买乐理课"]
+fieldColumns = ["organName", "cooperationOrganName", "musicGroupName","userId", "username", "phone","subjectName","currentClass", "realName", "isReserve == true ?'是':'否'","gradeLeave","theoryLevel","buyVipFlag == true ?'是':'否'","buyTheoryCourseFlag == true ?'是':'否'"]
+
+[2021双十一学员购买详情]
+headColumns = ["学员编号", "学员姓名","订单号", "交易金额","交易时间", "订单创建时间", "购买课程", "赠送会员"]
+fieldColumns = ["userId", "username", "orderNo","amount", "payTime", "createTime","type","giveMember==0?'否':'是'"]
+
+[分部2021双11活动统计导出]
+headColumns = ["分部", "总成交金额","总购买人数", "人均购买金额","20节1v1成交金额", "20节1v1成交人数", "40节1v1成交金额", "40节1v1成交人数", "20节1v2成交金额", "20节1v2成交人数","40节1v2成交金额", "40节1v2成交人数", "乐理课成交金额", "乐理课成交人数", "赠送会员人数"]
+fieldColumns = ["organName", "totalBuyAmount", "totalBuyNum","avgBuyAmount", "vip1V120Amount", "vip1V120Num","vip1V140Amount", "vip1V140Num", "vip1V220Amount", "vip1V220Num","vip1V240Amount" ,"vip1V240Num","musicTheoryAmount","musicTheoryNum","giveMemberNum"]
+
+[学生个人账户余额导出]
+headColumns = ["分部","学员编号", "姓名", "电话", "声部","交易类型", "交易金额", "交易时间", "备注","可用余额"]
+fieldColumns = ["organName","userId", "username", "phone", "subjectName", "type.msg", "amount", "createTime", "comment","balance"]
+
+[学生个人课程余额导出]
+headColumns = ["分部", "学员编号", "姓名", "电话", "声部","交易类型", "交易金额", "交易时间", "备注","可用余额"]
+fieldColumns = ["organName", "userId", "username", "phone", "subjectName", "type.msg", "amount", "createTime", "comment","balance"]
+
+[班级列表导出]
+headColumns = ["课程组编号", "课程组名称", "分部名称", "班级名称","班级类型", "班级人数", "主教老师", "助教老师", "已上课时", "总课数"]
+fieldColumns = ["musicGroupId", "musicGroupName", "organName", "name", "type.msg", "studentNum == NUll?0:studentNum", "bishopTeacherName", "teachingTeacherName", "currentClassTimes", "totalClassTimes"]
+
+[商品列表导出]
+headColumns = ["商品编号", "货号", "品牌", "商品名称","是否组合商品", "商品类型", "商品分类", "具体型号", "内部库存", "税务库存", "库存类型", "市场价(元)","零售价(元)", "商品团购价(元)", "商品描述", "商品详情", "是否上下架"]
+fieldColumns = ["id", "sn", "brand", "name", "complementGoodsIdList == null || complementGoodsIdList == '' ? '否':'是'", "type.desc", "goodsCategoryName", "specification", "stockCount", "taxStockCount", "stockType.msg", "marketPrice", "discountPrice", "groupPurchasePrice", "brief", "desc", "status.msg"]
+
+[VIP活动导出]
+headColumns = ["分部名称", "活动编号", "活动名称", "活动内容", "适用课程类型","启用状态", "活动持续时间", "课程安排时间", "活动类型", "活动折扣", "线上课结算类型", "线上课结算公式","线下课结算类型", "线下课结算公式"]
+fieldColumns = ["organName", "id", "name", "description", "vipGroupCategoryIdList", "openFlag.msg", "time", "courseTime", "type", "disCount", "onlineSalaryType", "onlineSalarySettlement", "offlineSalaryType", "offlineSalarySettlement"]
+
+[学员考勤记录导出]
+headColumns = ["分部编号", "分部名称", "课程组类型", "课程组编号", "课程组名称", "学员姓名","学员编号", "课程编号", "课程名称", "上课日期", "上课开始时间", "上课结束时间","指导老师名称", "指导老师编号", "教务老师名称", "教务老师编号", "授课老师名称", "授课老师编号", "学员考勤状态"]
+fieldColumns = ["organId", "organName", "groupType.desc", "groupId", "groupName", "username", "userId", "courseScheduleId", "courseScheduleName", "classDate", "startClassTime", "endClassTime", "guideTeacherName", "guideTeacherId" , "educationalTeacherName", "educationalTeacherId", "actualTeacherName", "actualTeacherId", "studentAttendanceStatus.msg"]
+
+[乐团管理--修改--缴费设置--缴费记录导出]
+headColumns = ["学员编号", "学员姓名", "学员声部", "学员状态", "手机号","缴费开始日期", "缴费截止日期", "是否开启缴费", "缴费状态", "支付时间","会员金额", "乐器金额", "课程金额", "辅件金额", "乐保金额", "活动金额"]
+fieldColumns = ["userId", "sysUser.username", "studentRegistration.subjectName", "studentRegistration.musicGroupStatus.msg", "sysUser.phone", "startPaymentDateMgpc", "deadlinePaymentDateMgpc", "openFlag.msg", "paymentStatus.desc", "payTime", "cloudAmount", "musicalAmount", "courseAmount", "accessoriesAmount", "maintenanceAmount", "activityAmount"]
+
+[业务管理--审核列表导出]
+headColumns = ["分部名称", "分部编号", "乐团编号", "乐团名称", "申请类型", "订单类型", "加课总时长(分钟)", "原现价(元)","申请价格(元)", "备注", "申请人", "状态", "申请时间"]
+fieldColumns = ["organName", "organId", "musicGroupId", "musicGroupName", "paymentType.desc", "payUserType.desc", "addCourseTotalTime", "courseCurrentPrice", "courseOriginalPrice", "memo", "operatorName", "auditStatus.desc", "createTime"]
+
+[导出教师考勤列表]
+headColumns = ["分部", "老师编号", "老师姓名", "工作性质", "课程编号", "课程名称", "上课日期","课程开始时间", "课程结束时间", "课程类型", "签到时间", "签到状态", "签退时间", "签退状态", "备注"]
+fieldColumns = ["organName", "teacherId", "teacherName", "jobNature.msg", "courseScheduleId", "courseScheduleName", "classDate", "startClassTime", "endClassTime", "courseScheduleType.msg", "signInTime", "signInStatus.msg", "signOutTime", "signOutStatus.msg", "remark"]
+
+[导出申述处理列表]
+headColumns = ["分部", "老师ID", "老师姓名", "课酬归属时间", "申诉提交时间", "状态","申述处理者"]
+fieldColumns = ["organName", "teacherId", "realName", "salarySettlementMonth", "createTime", "statusEnum.msg", "operatorRealName"]
+
+[网管课购买列表]
+headColumns = ["学员编号", "学员名称", "所属分部", "课程老师", "课程组老师", "购买网管课","免费课结束日期", "首次购买日期", "时间差"]
+fieldColumns = ["studentId", "studentName", "organName", "teacherName", "courseGroupTeacherName", "buyPractice.msg", "lastClassDate", "firstBuyTime", "intervalDay"]
+
+[导出对外订单列表]
+headColumns = ["交易流水号", "订单号", "订单日期", "交易类型", "应付金额", "实付金额", "用户姓名", "手机号码", "交易方式", "收款账户", "交易状态","备注", "交易方式"]
+fieldColumns = ["transNo", "orderNo", "createTime", "type.desc", "expectAmount", "actualAmount", "user.username", "user.phone", "paymentChannel", "merNos", "status.msg", "memo", "paymentChannel.desc"]
+
+[导出老师课酬]
+headColumns = ["课时编号", "老师编号", "老师姓名", "老师分部", "工作类别","课程分部", "课程组编号", "课程班名称", "乐团模式", "vip活动名称", "Vip课程类型", "阶梯奖励名称", "线上课/线下课", "线上课单价", "线下课单价","课程类别", "课时时长", "实际上课时长", "上课日期","上课时间", "教师签到状态", "教师签退状态", "教师签到时间", "教师签退时间", "考勤申诉处理状态", "处理意见","主辅", "上课地点", "应到学员", "学员签到时间", "学员签退时间", "课时课酬", "阶梯奖励", "扣款原因", "收入"]
+fieldColumns = ["courseScheduleId", "teacherId", "teacherName", "teacherOrganName", "jobType", "courseScheduleOrganName", "groupId", "groupName", "changeType", "vipActiveName", "vipCategoryName", "activeName", "teachMode", "onlineClassesUnitPrice", "offlineClassesUnitPrice", "courseScheduleType", "signCourseScheduleTime", "currentTime", "classDate", "courseScheduleStartTime", "signInStatus", "signOutStatus", "signInTime", "signOutTime", "complaintsStatus", "disposeContent", "teacherRole", "address", "studentNum", "studentSignInTime", "studentSignOutTime", "price", "rewards", "deductionReason", "courseIncome"]
+
+[导出老师结转奖励]
+headColumns = ["课程组编号", "课程组名称", "分部", "指导老师", "是否结转", "结转金额", "结转日期", "备注"]
+fieldColumns = ["musicGroupId", "courseGroupName", "organName", "teacherName", "settlementStatus.msg", "expectRewardAmount", "settlementDate", "memo"]
+
+[导出学员列表]
+headColumns = ["分部", "学员编号", "学员姓名", "性别", "家长姓名","家长联系电话", "是否激活", "是否有课", "是否有网管课","网管课剩余课时","VIP课剩余课时", "课程余额(元)", "账户余额(元)","所在乐团", "乐团所属声部", "所在乐团状态", "所在vip课", "所在VIP状态", "服务标签", "运营标签", "指导老师", "是否签订协议", "是否使用团练宝", "会员截止日期", "会员剩余天数", "会员试用结束日期", "会员试用剩余天数"]
+fieldColumns = ["organName", "userId", "username", "gender.description", "parentsName", "parentsPhone", "isActive.msg", "hasCourse.msg", "hasPracticeCourse.msg","noStartPracticeCourseNum","noStartVipCourseNum", "courseBalance", "balance", "musicGroupName", "subjectName", "musicGroupStatus", "vipGroupName", "vipGroupStatus", "serviceTag.msg", "operatingTag.msg", "teacherName", "isSignedContract ? '是' : '否'", "recordUserId == null ? '否' : '是'", "membershipEndTime","membershipEndTime == null ? hasNoStartCloudTeacher ? \"未生效\" : \"未购买\" : membershipDay >= 0 ? membershipDay : hasNoStartCloudTeacher ? \"未生效\" : \"会员已过期\"", "experienceMembershipEndTime","membershipEndTime == null ? \"未试用\" : membershipDay >= 0 ? membershipDay : \"已失效\""]
+
+[导出陪练课列表]
+headColumns = ["课程组编号", "课程组名称", "课程组类型", "分部", "教务老师", "指导老师", "班级人数","当前课次", "总课次", "剩余课次", "开课时间", "结束时间", "课程组状态", "是否续费", "备注"]
+fieldColumns = ["id", "name", "type.msg", "organName", "educationalTeacherName", "teacherName", "studentNum", "currentClassTimes", "totalClassTimes", "subClassTimes", "coursesStartDate", "coursesExpireDate", "groupStatus.desc", "payStatus", "memo"]
+
+[导出VIP课管理]
+headColumns = ["VIP编号", "课程名称", "课程状态", "指导老师", "教务老师", "班级人数", "课程单价","活动方案", "当前课次", "总课次", "剩余课次", "月消耗", "上次课时间", "开课时间", "结束时间", "申请时间", "学生姓名", "课程形式", "备注"]
+fieldColumns = ["id", "name", "status.msg", "userName", "educationalTeacherName", "studentNum", "courseUnitPrice", "vipGroupActivityName", "currentClassTimes", "totalClassTimes", "subClassTimes", "monthConsumeRate", "lastOverTime", "courseStartDate", "coursesExpireDate", "registrationStartTime", "userInfo", "vipGroupCategoryName", "stopReason"]
+
+[终课表列表导出]
+headColumns = ["分部名称", "乐团主管", "课程编号", "开始时间", "结束时间","班级名称", "班级声部", "课程名称", "课程类型", "教学模式","教学点", "课程状态", "指导老师", "学员编号", "是否点名", "是否有考勤申诉", "预计上课人数"]
+fieldColumns = ["organName", "educationTeacherName", "id", "startClassTime", "endClassTime", "classGroupName", "subjectName", "name", "groupType.desc", "teachMode.msg", "schoolName", "status.msg", "teacherName", "studentId", "isCallNames.msg", "isComplaints", "studentNum"]
+
+[导出零星收费列表]
+headColumns = ["分部", "收费类型", "标题", "收费状态", "金额", "时间", "学生姓名", "订单类型", "创建人"]
+fieldColumns = ["organName", "chargeType.msg", "title", "openFlagStr", "amount", "createTime", "userName", "orderType", "operatorName"]
+
+[导出乐器采购清单]
+headColumns = ["分部", "乐团", "商品类型", "商品名称", "型号", "数量"]
+fieldColumns = ["brief", "memo", "type.desc", "name", "specification", "sellCount"]
+
+[导出学员采购清单明细]
+headColumns = ["分部", "乐团", "学员编号", "学员姓名", "声部", "购买乐器", "乐器采购方式", "乐器金额", "购买教辅", "教辅金额", "课程金额", "团练宝金额", "乐保金额", "订单总价"]
+fieldColumns = ["organName", "musicGroupName", "userId", "username", "subjectName", "musicalName", "kitGroupPurchaseTypeEnum.msg", "musicalAmount", "accessoriesName", "accessoriesAmount", "courseAmount", "cloudTeacherAmount", "maintenanceAmount", "orderAmount"]
+
+[乐团【报名中、缴费中】 学生详情列表导出]
+headColumns = ["学生姓名", "家长姓名", "年级", "班级", "性别", "服从调剂", "报名专业","实际专业", "联系电话", "学员缴费状态", "乐器购买方式","缴费中/审核中","是否购买团练宝"]
+fieldColumns = ["studentName", "parentsName", "currentGrade", "currentClass", "gender.description", "isAllowAdjust.msg", "subjectName", "actualSubjectName", "parentsPhone", "paymentStatus.desc", "kitGroupPurchaseTypeEnum.msg","payingStatusStr","hasCloudTeacher==1?'有':'没有'"]
+
+[分页导出教师薪酬列表]
+headColumns = ["用户编号", "用户名", "手机号", "课程类型", "实际薪水", "补助", "结算时间", "教师角色"]
+fieldColumns = ["userId", "username", "phone", "type.msg", "name", "actualSalary", "subsidy", "settlementTime", "teacherRole.msg"]
+
+[学员小课记录导出]
+headColumns = ["分部", "学员编号", "学生姓名", "课程余额", "声部", "VIP已结束课时数", "VIP未开始课时数", "已结束VIP上课老师编号", "已结束VIP上课老师","网管课已结束课时数", "网管课未开始课时数", "已结束网管课上课老师编号", "已结束网管课上课老师", "指导老师编号", "指导老师"]
+fieldColumns = ["organName","userId", "username","courseBalance", "subjectName", "vipOverNum", "vipNotStartNum", "vipOverTeacherId", "vipOverTeacherName" , "practiceOverNum", "practiceNotStartNum", "practiceOverTeacherId", "practiceOverTeacherName","teacherId","teacherName"]
+
+[乐团管理--乐团详情-导出学员列表]
+headColumns = ["学员编号", "学员姓名", "性别", "联系电话","入团时间", "年级", "班级", "入团专业", "学员状态", "报名缴费", "缴费金额", "是否激活","VIP/网管是否有课","关心包","加油包", "欠费金额(元)", "退团原因", "会员截止时间", "会员剩余天数"]
+fieldColumns = ["userId", "realName", "gender", "phone","registerTime", "currentGrade", "currentClass", "subjectName", "studentStatus", "paymentStatus.desc" ,"courseFee", "activeName", "hasCourse ? '是' : '否'" ,"carePackage == null || carePackage == 0 ? \"不可用\" : carePackage == 1 ? \"可用\" : \"已使用\"" ,"comeOnPackage == null || comeOnPackage == 0 ? \"不可用\" : comeOnPackage == 1 ? \"可用\" : \"已使用\"" ,"noPaymentAmount == null ? 0 : noPaymentAmount", "quitReason", "membershipEndTime","membershipEndTime == null ? hasNoStartCloudTeacher ? \"未生效\" : \"未购买\" : membershipDay >= 0 ? membershipDay : hasNoStartCloudTeacher ? \"未生效\" : \"会员已过期\""]
+
+[评论列表导出]
+headColumns = ["分部", "上课日期", "学生编号", "课程编号", "学员是否到课", "课程班名称", "老师", "教材内容", "发音", "节奏", "乐理", "曲目", "评价备注", "回访日期(布置训练)", "完成app双向沟通", "学员评分", "是否布置训练", "是否提交训练", "是否回复训练", "教务老师", "教务评价"]
+fieldColumns = ["organName", "classDateStr", "studentId", "id", "attendanceStr", "courseName",  "teacherName", "teachingMaterial", "pronunciationStr", "tempoStr", "musicTheoryStr", "song",  "memo", "createTimeStr", "hasLiaison", "studentReview", "assignHomeworkStr", "handHomeworkStr", "homeWorkReplied", "eduTeacherName", "courseReview"]
+
+[网管课管理导出]
+headColumns = ["分部", "学生编号", "学生姓名", "网管课老师id", "网管课老师", "教务老师id", "教务老师","有效期截止时间", "课程截止时间", "总课时", "剩余课时", "是否购买"]
+fieldColumns = ["organName", "studentId", "studentName", "teacherIds", "teacherName", "eduTeacherIds", "eduTeacherName", "expireDate", "classEndDate", "totalClassTimes", "noStartClassTimes", "buyPractice.msg"]
+
+[vip管理导出]
+headColumns = ["分部", "学生编号", "学生姓名", "指导老师id", "指导老师", "教务老师id", "教务老师", "课程开始时间", "课程截止时间", "上次课时间", "总课时", "剩余课时"]
+fieldColumns = ["organName", "studentId", "studentName", "teacherIds", "teacherName", "eduTeacherIds", "eduTeacherName", "classStartDate", "classEndDate", "lastClassDate", "totalClassTimes", "noStartClassTimes"]
+
+[学生课外训练记录导出]
+headColumns = ["布置时间", "截至时间", "训练标题", "老师名字", "分部", "学生姓名", "学生编号", "提交训练", "提交训练时间", "是否评价", "是否有vip", "及时评价"]
+fieldColumns = ["createTime", "expireDate", "title", "teacherName", "organName",          "user.username", "userId", "statusStr", "submitTime", "isRepliedStr", "existVipCourseStr", "isRepliedTimelyStr"]
+
+[课外训练-教学导出]
+headColumns = ["学员编号", "学员姓名", "所属分部", "乐团名称", "指导老师", "教务老师", "服务课程",         "预期安排", "实际安排", "提交次数", "评价次数", "及时评价次数", "付费网管课", "VIP课", "训练提交时间"]
+fieldColumns = ["studentId", "studentName", "organName", "groupNames", "teacherName",          "educationalTeacherName", "serveType == 'EXERCISE' ? '课外训练':courseIds",          "expectExercisesNum", "actualExercisesNum", "exercisesReplyNum",         "exercisesMessageNum", "exercisesMessageTimelyNum", "existPracticeCourse", "existVipCourse", "lastSubmitTime"]
+
+[教师课酬导出]
+headColumns = ["分部", "课程组类型", "课程编号", "时间", "课程名称", "老师编号", "老师姓名", "签到时间", "签退时间",        "学员缴费", "课酬类型", "应发课酬", "课酬扣款", "结算课酬", "状态", "备注", "扣款原因"]
+fieldColumns = ["organName", "groupType.desc", "courseScheduleId", "startClassTime", "courseName", "teacherId", "teacherName",         "signInStatusStr", "signOutStatusStr", "actualReceipts", "salaryType", "actualSalary", "reduceSalary", "finalSalary",         "confirmStatus.desc", "memo", "deductionReason"]
+
+[运营指标管理导出]
+headColumns = ["分部", "乐团名称", "学生", "学生编号", "指导老师", "指导老师id", "参与运营指标", "有线上VIP课", "参与免费网管课", "有付费网管课", "有乐团网管课"]
+fieldColumns = ["organName", "groupNames", "studentName", "studentId", "teacherName", "teacherId",          "operatingTagStr", "vipTimesStr", "freePracticeTimesStr", "buyPracticeTimesStr", "musicNetWorkTimesStr"]
+
+[vip评论列表导出]
+headColumns = ["分部", "上课日期", "课程编号", "课程班名称", "老师", "教材内容", "发音", "节奏", "乐理", "曲目", "评价备注", "回访日期(布置训练)", "是否布置训练", "是否提交训练", "教务老师", "教务评价"]
+fieldColumns = ["organName", "classDateStr", "id", "courseName", "teacherName", "teachingMaterial",  "pronunciationStr", "tempoStr", "musicTheoryStr", "song", "memo", "createTimeStr", "assignHomeworkStr",  "handHomeworkStr", "eduTeacherName", "courseReview"]
+
+[考级报名导出]
+headColumns = ["姓名", "性别", "身份证号", "城市", "学校", "报考乐器", "报考级别", "乐理级别", "乐理级别证书", "家长联系电话", "考级费用", "乐理费用", "备注", "缴费状态", "订单编号", "商户订单号", "报名时间"]
+fieldColumns = ["name", "gender", "idcard", "city", "school", "subject", "level", "theoryLevel",  "theoryCert", "mobile", "money", "theoryMoney", "memo", "statusStr", "orderNo", "transNo", "createTime"]
+
+[合作单位导出]
+headColumns = ["分部", "单位编号", "单位名称", "是否启用","乐团主管","状态栏"]
+fieldColumns = ["organization.name", "id", "name", "isEnable == true ? '是':'否'", "realName", "isEnable == true ? '开启' : '未开启'"]
+
+[财务管理导出1]
+headColumns = ["序号", "学生编号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "订单金额", "应付金额",    "现金支付", "余额支付", "分润账户", "分润金额", "分配余额", "优惠金额", "乐团课", "VIP课", "网管课", "乐理课",    "考级", "维修费用", "乐保费用", "团练宝", "押金", "乐器", "教辅费用", "上门费", "账户充值", "其它", "汇付手续费", "平台手续费", "到账时间",    "关联乐团ID/VIP课ID", "课程形态", "零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"]
+fieldColumns = ["id", "userId", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "orderAmount"     , "expectAmount", "actualAmount", "balancePaymentAmount", "routeMerNo", "routeAmount", "routeBalance",  "couponRemitFee",     "musicGroupCourseFee", "vipCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee", "maintenanceFee", "cloudTeacherFee", "leaseFee", "musicalFee", "teachingFee", "visitFee",     "rechargeFee", "otherFee", "transferFee", "platformFee", "payTime", "musicGroupId",     "groupType.desc", "sporadicType", "subjectName", "organName", "schoolName", "cooperationOrganName", "eduTeacher", "memo"]
+
+[财务管理导出2]
+headColumns = ["序号", "学生编号", "学生姓名", "交易流水号", "订单编号", "收款渠道", "收款账户", "订单金额", "应付金额",    "现金支付", "余额支付", "分润账户", "分润金额", "分配余额", "优惠金额", "乐团课", "VIP课", "网管课", "乐理课",    "考级", "维修费用", "乐保费用", "团练宝", "押金", "乐器", "教辅费用", "上门费", "账户充值", "其它", "平台手续费", "到账时间",    "关联乐团ID/VIP课ID", "课程形态", "零星收款类别", "专业", "分部", "教学点", "合作单位", "乐团主管", "备注"]
+fieldColumns = ["id", "userId", "user.username", "transNo", "orderNo", "paymentChannel", "merNos", "orderAmount"     , "expectAmount", "actualAmount", "balancePaymentAmount", "routeMerNo", "routeAmount", "routeBalance",  "couponRemitFee",     "musicGroupCourseFee", "vipCourseFee", "practiceCourseFee", "theoryCourseFee", "degreeFee", "repairFee", "maintenanceFee", "cloudTeacherFee", "leaseFee", "musicalFee", "teachingFee", "visitFee",     "rechargeFee", "otherFee", "platformFee", "payTime", "musicGroupId",     "groupType.desc", "sporadicType", "subjectName", "organName", "schoolName", "cooperationOrganName", "eduTeacher", "memo"]
+
+[老师默认课酬导出]
+headColumns = ["老师编号", "姓名", "分部", "工作类型", "在职状态", "老师状态", "1v1", "1v2", "1v3", "1v4", "1v5", "1v6", "1v7","网管课", "单技课2.0(主教)", "合奏课2.0(主教)", "综合课2.0(主教)", "集训单技课2.0(主教)", "集训合奏课2.0(主教)","基础技能课2.0(主教)", "课堂课(主教)", "单技课3.0(主教)", "合奏课3.0(主教)", "综合课3.0(主教)", "集训单技课3.0(主教)", "集训合奏课3.0(主教)","基础技能课3.0(主教)", "单技课2.0(助教)", "合奏课2.0(助教)", "综合课2.0(助教)", "集训单技课2.0(助教)", "集训合奏课2.0(助教)","基础技能课2.0(助教)", "课堂课(助教)", "单技课3.0(助教)", "合奏课3.0(助教)", "综合课3.0(助教)", "集训单技课3.0(助教)", "集训合奏课3.0(助教)","基础技能课3.0(助教)", "网络基础训练课1v3", "网络基础训练课1v4", "网络基础训练课1v5", "乐团网管课1v1"]
+fieldColumns = ["userId", "realName", "organName", "jobNature", "demissionStatus", "status", "vip1", "vip2", "vip3", "vip4", "vip5", "vip6", "vip7", "practiceSalary", "mainSingleSalary2", "mainMixSalary2", "mainComprehensiveSalary2", "mainTraningSigleSalary2", "mainTraningMixSalary2", "mainHighSalary2", "mainClassroomSalary2", "mainSingleSalary", "mainMixSalary", "mainComprehensiveSalary", "mainTraningSigleSalary", "mainTraningMixSalary", "mainHighSalary", "assistantSingleSalary2", "assistantMixSalary2", "assistantComprehensiveSalary2", "assistantTraningSigleSalary2", "assistantTraningMixSalary2", "assistantHighSalary2", "assistantClassroomSalary2", "assistantSingleSalary", "assistantMixSalary", "assistantComprehensiveSalary", "assistantTraningSigleSalary", "assistantTraningMixSalary", "assistantHighSalary", "highOnline3Salary", "highOnline4Salary", "highOnline5Salary", "musicNetwork1Salary"]
+
+[报名中缴费中乐团缴费情况导出]
+headColumns = []
+fieldColumns = []
+
+[乐团声部在读人数导出]
+headColumns = []
+fieldColumns = []
+
+[回款统计]
+headColumns = ["学员编号", "学员姓名", "指导老师", "教务老师", "订单日期", "交易类型", "实际金额"]
+fieldColumns = ["studentId", "studentName", "teacherName", "eduTeacherName", "createTime", "orderType.msg", "actualAmount"]
+
+[销售列表导出]
+headColumns = ["交易流水号", "订单号", "销售日期", "销售类型", "商品名称", "数量", "订单金额(元)", "应付金额(元)", "余额支付(元)","现金支付(元)", "优惠金额(元)", "销售成本(元)", "学员姓名", "交易方式", "收款账户", "账户类型", "扣减库存", "所属分部","所属学校", "教务老师", "确认收货", "状态"]
+fieldColumns = ["transNo", "orderNo", "sellTime", "type.desc", "goodsName", "num", "orderAmount", "expectAmount", "balanceAmount", "actualAmount", "couponRemitAmount", "sellCost", "userName", "paymentChannelStr", "merNo", "accountTypeStr", "stockType.msg", "organName", "schoolName", "eduTeacher", "receiveStatusStr", "status.msg"]
+
+[欠费学员列表导出]
+headColumns = ["学员编号", "学员姓名", "所属分部", "合作单位", "所在乐团", "乐团主管", "声部", "性别", "家长姓名", "家长联系电话", "欠费金额"]
+fieldColumns = ["userId", "studentName", "organName", "cooperationName", "musicGroupName", "eduTeacherName", "subjectName", "gender==0?'女':'男'", "parentName", "phone", "noPaymentAmount"]
+
+[退团申请列表导出]
+headColumns = ["学员编号", "学员姓名", "所属乐团", "申请时间", "退团原因", "状态"]
+fieldColumns = ["userId", "user.username", "musicGroup.name", "createTime", "userComment", "status.getMsg()"]
+
+[服务指标明细导出]
+headColumns = ["分部", "老师编号", "老师姓名", "服务周期", "课后训练(节)", "课外训练(人)", "布置次数", "提交次数","训练布置", "训练点评", "训练提交率","提醒时间", "操作人"]
+fieldColumns = ["organName", "teacherId", "teacherName", "dateRange", "homeworkNum", "exerciseNum", "actualExercisesNum", "exercisesReplyNum", "expectExercisesNum>actualExercisesNum?'异常':'正常'", "exercisesReplyNum>exercisesMessageNum?'异常':'正常'", "submitRate", "remindDate", "operatorName"]
+
+[首页异常统计导出]
+headColumns = ["分部", "基础技能班学员数量异常", "乐团巡查事项异常", "未在班级学员数", "欠费学员数","申请退团学员数", "预计课酬较低", "课程时间安排异常", "乐团巡查未计划", "乐团巡查任务未提交","回访任务未完成", "课程考勤异常", "课程异常", "服务指标异常", "异常请假", "会员过期学员数", "总计"]
+fieldColumns = ["organName", "highClassStudentLessThanThreeNum", "musicPatrolItem", "noClassMusicGroupStudentInfo", "studentNotPayment", "studentApplyForQuitMusicGroup", "teacherExpectSalaryBeLow", "courseTimeError", "inspectionItem", "inspectionItemPlan", "studentVisit", "teacherExceptionAttendance", "teacherNotAClass", "teacherServeError", "studentErrorLeave", "noMemberStudentNum", "total"]
+
+[运营预警导出]
+headColumns = ["月份", "分部", "老师", "专业", "乐团节数", "VIP结束", "网管节数","预计乐团课酬", "预计VIP课酬", "预计网管课酬", "预计课酬合计", "平均上课时长"]
+fieldColumns = ["monthStr", "organName", "realName", "subjectListStr", "musicCourseNum", "vipCourseNum", "practiceCourseNum", "expectMusicCourseSalary", "expectVipCourseSalary", "expectPracticeCourseSalary", "expectTotalSalary", "averageClassMinutes"]
+
+[首页历史异常统计导出]
+headColumns = ["日期", "分部", "乐团主管", "乐团巡查事项异常", "剩余乐团巡查事项异常", "乐团巡查任务未提交", "剩余乐团巡查任务未提交","课程考勤异常", "剩余课程考勤异常", "课程异常", "剩余课程异常"]
+fieldColumns = ["generateTime", "organName", "dealUserName", "musicPatrolItem", "musicPatrolItemSurplus", "inspectionItemPlan", "inspectionItemPlanSurplus", "teacherExceptionAttendance", "teacherExceptionAttendanceSurplus", "teacherNotAClass", "teacherNotAClassSurplus"]
+
+[老师列表导出]
+headColumns = ["老师编号", "老师名称", "所属分部", "老师状态", "专业技能", "联系电话", "工作类型","员工状态", "已开小课", "试听课安排", "开放网管课","转正日期","离职日期"]
+fieldColumns = ["id", "realName", "organName", "lockFlag == 0?'正常':lockFlag == 1?'冻结':'锁定'", "splitSubjectName", "phone", "jobNature.msg", "isProbationPeriod.msg", "vipNum", "demoNum", "isSupportExtraPracticeLesson?'是':'否'","formalStaffDate","demissionDate"]
+
+[人力资源导出]
+headColumns = ["编号", "姓名", "手机号", "微信","声部", "所在城市", "工作意向", "信息来源","下次沟通时间","入职时间","职位", "分部", "人员状态", "证件号码","年龄","性别","银行卡", "开户行", "紧急联系人", "紧急联系人关系","紧急联系人电话","最后一次操作时间","HRBP", "离职时间"]
+fieldColumns = ["id", "realName", "mobileNo", "wechatNo", "subjectName", "liveCity", "intentionCity", "sourceFrom", "nextVisitDateStr", "entryDateStr", "position.msg","organName","status.desc", "idCard", "age", "gender?'男':'女'", "bankCardNo","bankAddress","emergencyContactName", "emergencyContactRelation", "emergencyContactPhone", "updateTime", "hrbpName","resignationDateStr"]
+
+[分部下教师关联的会员数据导出]
+headColumns = ["老师编号", "老师姓名", "学员总数", "使用人数", "使用人数比", "付费学员数量", "会员占比"]
+fieldColumns = ["teacherId", "teacherName", "totalStudentNum", "cloudStudyUseStudentNum", "cloudStudyUseStudentDuty+\"%\"", "vipStudentNum", "vipStudentDuty+\"%\""]
+
+[分部云教练学员数据预览导出]
+headColumns = ["排名", "分部", "学员总数", "目标人数", "活跃人数", "使用人数", "新增使用人数", "使用比例", "付费会员数", "付费会员占比"]
+fieldColumns = ["index","organName", "totalStudentNum", "targetNum", "cloudStudyLivelyStudentNum", "cloudStudyUseStudentNum", "newCloudStudyStudentNum", "cloudStudyUseStudentDuty+\"%\"", "vipStudentNum", "vipStudentDuty+\"%\""]
+
+[分部云教练学员数据详情导出]
+headColumns = ["排名", "分部", "学员总数", "活跃人数", "活跃人数比", "当日使用人数", "当日新增使用人数", "使用人数占比", "付费会员数量","付费会员占比", "新增付费会员"]
+fieldColumns = ["index", "organName", "totalStudentNum", "cloudStudyLivelyStudentNum", "cloudStudyLivelyStudentDuty+\"%\"", "cloudStudyUseStudentNum", "newCloudStudyStudentNum", "cloudStudyUseStudentDuty+\"%\"", "vipStudentNum", "vipStudentDuty+\"%\"", "newMemberStudentNum"]
+
+[分部云教练学员训练数据导出]
+headColumns = ["学员编号", "学员","年级","班级", "手机号", "是否新用户", "是否激活", "训练总时长", "连续训练天数", "乐团", "乐团主管", "所属学校", "指导老师", "声部", "是否有小课","训练次数", "训练天数", "训练平均时长", "会员有效期", "是否服务", "是否运营", "是否团练宝活动目标学员", "活动消费金额", "关心包", "加油包", "未上课数", "vip课剩余课时", "网管课剩余课时"]
+fieldColumns = ["studentId", "studentName","currentGradeNum","currentClass", "phone", "newUser?\"是\":\"否\"", "enable?\"是\":\"否\"",         "cloudStudyUseTime+\"分钟\"", "cloudStudyRunningDays+\"天\"", "musicGroupNames", "educationName", "schoolNames",         "teacherName", "subjectName", "hasVipGroup>0?\"是\":\"否\"", "cloudStudyUseNum+\"次\"", "cloudStudyUseDays+\"天\"",         "cloudStudyUseAvgTime+\"分钟\"", "membershipEndTime", "serviceTag>0?\"是\":\"否\"", "operatingTag>0?\"是\":\"否\"","countFlag == null?'否':countFlag == 1?'是':'否'","activeAmount",         "carePackage>0?carePackage>1?\"已使用\":\"可用\":\"不可用\"", "comeOnPackage>0?comeOnPackage>1?\"已使用\":\"可用\":\"不可用\"",         "notStartCourseNum", "notStartVipCourseNum", "notStartPracticeCourseNum"]
+
+[分部云教练活动统计数据导出]
+headColumns = ["分部", "购买人数", "购买金额", "目标金额", "人均购买金额", "目标人数", "目标达成率"]
+fieldColumns = ["organName", "buyNum", "buyAmount", "targetAmount", "avgBuyAmount",         "targetNum", "targetFinishScale"]
+
+[分部云教练学员训练数据导出]
+headColumns = ["学员编号", "学员", "合作单位", "乐团", "乐团模式", "声部", "年级", "指导老师", "购买套餐", "购买金额"]
+fieldColumns = ["userId", "username", "cooperationName", "musicGroupName", "chargeType",         "subjectName", "currentGradeNum", "teacherName", "remark", "amount"]
+
+[启蒙课问卷导出]
+headColumns = ["学员姓名","联系电话","年级","班级","老师推荐专业","是否在学习某件乐器","目前所学乐器","报名参加管乐团家长会了解相关情况","备注"]
+fieldColumns = ["userName","phone","currentGrade","currentClass","subjectName","musicalInstrumentsLearning?'是':'否'", "musicalInstrumentsName","joinParentMeeting?'是':'否'","remark"]
+
+[服务指标导出]
+headColumns = ["分部","老师编号","老师姓名","预计安排(人次)","实际安排(人次)","布置率(%)","提交人数","点评次数","点评率(%)","及时点评次数","及时点评率(%)"]
+fieldColumns = ["organName","teacherId","teacherName","expectExercisesNum","actualExercisesNum", "100 * actualExercisesNum / expectExercisesNum","exercisesReplyNum","exercisesMessageNum", "100 * exercisesMessageNum / exercisesReplyNum", "exercisesMessageTimelyNum","100 * exercisesMessageTimelyNum / exercisesReplyNum"]