소스 검색

Merge remote-tracking branch 'origin/master'

Joburgess 4 년 전
부모
커밋
cae43f179f

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
@@ -1766,4 +1767,12 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return
      */
     Integer getUnderwayCourseNum(@Param("musicGroupId") String musicGroupId, @Param("groupType") GroupType groupType, @Param("status") CourseStatusEnum status);
+
+
+    /**
+     * 获取时间段内乐团的线下课程信息
+     *
+     * @return
+     */
+    List<CourseSchedule> getMusicGroupCourseInfo(@Param("musicGroupId") String musicGroupId, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
 }

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

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.CheckItemDto;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
@@ -36,9 +37,17 @@ public interface InspectionItemPlanConclusionDao extends BaseDAO<Long, Inspectio
 
     /**
      * 获取巡查日程的巡查结果
+     *
      * @param planId
      * @param checkItem
      * @return
      */
     List<InspectionItemPlanConclusion> getInspectionItemPlanConclusion(@Param("planId") Long planId, @Param("checkItem") Integer checkItem);
+
+    /**
+     * 获取巡查结果的课程信息
+     *
+     * @return
+     */
+    List<CourseSchedule> getPlanConclusionCourses(@Param("planId") Long planId);
 }

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItemPlanConclusion.java

@@ -18,6 +18,12 @@ public class InspectionItemPlanConclusion {
     /**
      * 老师id
      */
+    @ApiModelProperty(value = "课程id")
+    private Long courseScheduleId;
+
+    /**
+     * 老师id
+     */
     @ApiModelProperty(value = "老师id")
     private Integer teacherId;
 
@@ -61,6 +67,14 @@ public class InspectionItemPlanConclusion {
         this.planId = planId;
     }
 
+    public Long getCourseScheduleId() {
+        return courseScheduleId;
+    }
+
+    public void setCourseScheduleId(Long courseScheduleId) {
+        this.courseScheduleId = courseScheduleId;
+    }
+
     public Integer getTeacherId() {
         return teacherId;
     }

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

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.InspectionItemPlanConclusionDto;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion;
 import com.ym.mec.common.service.BaseService;
 
@@ -23,6 +24,13 @@ public interface InspectionItemPlanConclusionService extends BaseService<Long, I
      * @return
      */
    Map<Integer,List<InspectionItemPlanConclusion>> getInfo(Long planId, Integer checkItem);
+
+    /**
+     * 获取日程内的课程信息
+     * @param planId
+     * @return
+     */
+    List<CourseSchedule> getPlanCourses(Long planId);
 }
 
 

+ 15 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionItemPlanConclusionServiceImpl.java

@@ -1,9 +1,11 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.biz.dal.dao.CourseScheduleDao;
 import com.ym.mec.biz.dal.dao.InspectionItemDao;
 import com.ym.mec.biz.dal.dao.InspectionItemPlanConclusionDao;
 import com.ym.mec.biz.dal.dao.InspectionItemPlanDao;
 import com.ym.mec.biz.dal.dto.InspectionItemPlanConclusionDto;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.InspectionItem;
 import com.ym.mec.biz.dal.entity.InspectionItemPlan;
 import com.ym.mec.common.dal.BaseDAO;
@@ -30,6 +32,8 @@ public class InspectionItemPlanConclusionServiceImpl extends BaseServiceImpl<Lon
     private InspectionItemPlanDao inspectionItemPlanDao;
     @Autowired
     private InspectionItemDao inspectionItemDao;
+    @Autowired
+    private CourseScheduleDao courseScheduleDao;
 
     @Override
     public BaseDAO<Long, InspectionItemPlanConclusion> getDAO() {
@@ -99,6 +103,17 @@ public class InspectionItemPlanConclusionServiceImpl extends BaseServiceImpl<Lon
         Map<Integer, List<InspectionItemPlanConclusion>> conclusionMap = conclusions.stream().collect(Collectors.groupingBy(InspectionItemPlanConclusion::getCheckItem));
         return conclusionMap;
     }
+
+    @Override
+    public List<CourseSchedule> getPlanCourses(Long planId) {
+        InspectionItemPlan plan = inspectionItemPlanDao.get(planId);
+        List<CourseSchedule> courseSchedules = inspectionItemPlanConclusionDao.getPlanConclusionCourses(planId);
+        if (courseSchedules.size() > 0) {
+            return courseSchedules;
+        }
+        courseSchedules = courseScheduleDao.getMusicGroupCourseInfo(plan.getMusicGroupId(), plan.getPlanStart(), plan.getPlanEnd());
+        return courseSchedules;
+    }
 }
 
 

+ 11 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -3511,4 +3511,15 @@
     <select id="getUnderwayCourseNum" resultType="int">
         SELECT COUNT(*) FROM course_schedule WHERE music_group_id_ = #{musicGroupId} AND group_type_ = #{groupType} AND status_=#{status}
     </select>
+
+    <select id="getMusicGroupCourseInfo" resultMap="CourseSchedule"><![CDATA[
+        SELECT cs.id_, cs.actual_teacher_id_,CONCAT(cg.name_,'-',su.real_name_) name_  FROM course_schedule cs
+        LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
+        LEFT JOIN sys_user su ON su.id_=cs.actual_teacher_id_
+        WHERE cs.music_group_id_ = #{musicGroupId}
+            AND CONCAT(cs.class_date_,' ',cs.start_class_time_) >= #{startTime}
+            AND CONCAT(cs.class_date_,' ',cs.end_class_time_) <= #{endTime}
+            AND cs.group_type_ = 'MUSIC'
+            AND cs.teach_mode_ = 'OFFLINE'
+    ]]></select>
 </mapper>

+ 22 - 7
mec-biz/src/main/resources/config/mybatis/InspectionItemPlanConclusionMapper.xml

@@ -6,6 +6,7 @@
         <!--@Table inspection_item_plan_conclusion-->
         <id column="id_" property="id"/>
         <result column="plan_id_" property="planId"/>
+        <result column="course_schedule_id_" property="courseScheduleId"/>
         <result column="teacher_id_" property="teacherId"/>
         <result column="check_item_" property="checkItem"/>
         <result column="check_conclusion_" property="checkConclusion"/>
@@ -14,7 +15,7 @@
     </resultMap>
     <sql id="Base_Column_List">
         <!--@mbg.generated-->
-        id_, plan_id_, teacher_id_, check_item_, check_conclusion_, create_time_, update_time_
+        id_, plan_id_,course_schedule_id_, teacher_id_, check_item_, check_conclusion_, create_time_, update_time_
     </sql>
     <select id="get" parameterType="java.lang.Integer" resultMap="BaseResultMap">
         <!--@mbg.generated-->
@@ -31,9 +32,10 @@
     <insert id="insert" keyColumn="id_" keyProperty="id"
             parameterType="com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion" useGeneratedKeys="true">
         <!--@mbg.generated-->
-        insert into inspection_item_plan_conclusion (plan_id_, teacher_id_,check_item_, check_conclusion_, create_time_,
-        update_time_)
-        values (#{planId}, #{teacherId}, #{checkItem}, #{checkConclusion},#{createTime}, #{updateTime})
+        insert into inspection_item_plan_conclusion (plan_id_,course_schedule_id_, teacher_id_,check_item_,
+        check_conclusion_, create_time_,update_time_)
+        values (#{planId}, #{courseScheduleId},#{teacherId}, #{checkItem}, #{checkConclusion},#{createTime},
+        #{updateTime})
     </insert>
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion">
         <!--@mbg.generated-->
@@ -42,6 +44,9 @@
             <if test="planId != null">
                 plan_id_ = #{planId},
             </if>
+            <if test="courseScheduleId != null != null">
+                course_schedule_id_ = #{courseScheduleId},
+            </if>
             <if test="teacherId != null">
                 teacher_id_ = #{teacherId},
             </if>
@@ -69,11 +74,12 @@
     <insert id="batchAdd" keyColumn="id_" keyProperty="id"
             parameterType="com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion"
             useGeneratedKeys="true">
-        INSERT INTO inspection_item_plan_conclusion (plan_id_, teacher_id_, check_item_, check_conclusion_,
-        create_time_,update_time_)
+        INSERT INTO inspection_item_plan_conclusion (plan_id_,course_schedule_id_, teacher_id_, check_item_,
+        check_conclusion_,create_time_,update_time_)
         VALUE
         <foreach collection="inspectionItemPlanConclusions" item="inspectionItemPlanConclusion" separator=",">
-            (#{inspectionItemPlanConclusion.planId}, #{inspectionItemPlanConclusion.teacherId},
+            (#{inspectionItemPlanConclusion.planId},#{inspectionItemPlanConclusion.courseScheduleId},
+            #{inspectionItemPlanConclusion.teacherId},
             #{inspectionItemPlanConclusion.checkItem},
             #{inspectionItemPlanConclusion.checkConclusion}, #{inspectionItemPlanConclusion.createTime},
             #{inspectionItemPlanConclusion.updateTime})
@@ -87,10 +93,19 @@
         </foreach>
         GROUP BY plan_id_
     </select>
+
     <select id="getInspectionItemPlanConclusion" resultMap="BaseResultMap">
         SELECT * FROM inspection_item_plan_conclusion WHERE plan_id_=#{planId}
         <if test="checkItem != null">
             AND check_item_ = #{checkItem}
         </if>
     </select>
+
+    <select id="getPlanConclusionCourses" resultMap="com.ym.mec.biz.dal.dao.CourseScheduleDao.CourseSchedule">
+        SELECT iipc.course_schedule_id_ id_, iipc.teacher_id_ actual_teacher_id_,CONCAT(cg.name_,'-',su.real_name_) name_ FROM inspection_item_plan_conclusion iipc
+        LEFT JOIN course_schedule cs ON iipc.course_schedule_id_ = cs.id_
+        LEFT JOIN class_group cg ON cg.id_=cs.class_group_id_
+        LEFT JOIN sys_user su on iipc.teacher_id_ = su.id_
+        WHERE plan_id_ = #{planId} GROUP BY iipc.course_schedule_id_,iipc.teacher_id_
+    </select>
 </mapper>

+ 52 - 12
mec-util/src/main/java/com/ym/mec/util/excel/POIUtil.java

@@ -1,24 +1,57 @@
 package com.ym.mec.util.excel;
 
-import com.ym.mec.util.exception.UtilException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
 import org.apache.commons.beanutils.NestedNullException;
 import org.apache.commons.beanutils.PropertyUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.POIXMLDocumentPart;
-import org.apache.poi.hssf.usermodel.*;
-import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.hssf.usermodel.HSSFCell;
+import org.apache.poi.hssf.usermodel.HSSFCellStyle;
+import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
+import org.apache.poi.hssf.usermodel.HSSFFont;
+import org.apache.poi.hssf.usermodel.HSSFPicture;
+import org.apache.poi.hssf.usermodel.HSSFRow;
+import org.apache.poi.hssf.usermodel.HSSFShape;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellStyle;
+import org.apache.poi.ss.usermodel.Font;
+import org.apache.poi.ss.usermodel.IndexedColors;
+import org.apache.poi.ss.usermodel.PictureData;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.WorkbookFactory;
 import org.apache.poi.xssf.streaming.SXSSFWorkbook;
-import org.apache.poi.xssf.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
+import org.apache.poi.xssf.usermodel.XSSFDrawing;
+import org.apache.poi.xssf.usermodel.XSSFPicture;
+import org.apache.poi.xssf.usermodel.XSSFShape;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.expression.ExpressionParser;
+import org.springframework.expression.spel.standard.SpelExpressionParser;
+import org.springframework.expression.spel.support.StandardEvaluationContext;
 
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.Map.Entry;
+import com.ym.mec.util.exception.UtilException;
 
 public class POIUtil {
 
@@ -28,7 +61,9 @@ public class POIUtil {
 	private final static int MAX_DATA_SIZE = 50000;
 
 	private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
+	
+	private static ExpressionParser expressionParser =new SpelExpressionParser();
+	
 	/**
 	 * 将数据集dataset导出到fileName文件中(只支持.xlsx格式)
 	 *
@@ -201,17 +236,22 @@ public class POIUtil {
 		// 添加数据
 		T data = null;
 		Object obj = null;
+		StandardEvaluationContext context = null;
 		for (int i = 1; i <= dataset.size(); i++) {
 			data = dataset.get(i - 1);
 			if (data != null) {
+				
+				context = new StandardEvaluationContext(data);
 				row = sheet.createRow(i);
 				for (int j = 0; j < fieldColumns.length; j++) {
 					cell = row.createCell(j);
 					try {
-						obj = PropertyUtils.getNestedProperty(data, fieldColumns[j]);
+						//obj = PropertyUtils.getNestedProperty(data, fieldColumns[j]);
+						obj = expressionParser.parseExpression(fieldColumns[j]).getValue(context);
 						if (obj instanceof Date) {
 							obj = sdf.format(obj);
 						}
+						
 					} catch (NestedNullException e) {
 						LOGGER.warn(e.getMessage());
 						obj = null;

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

@@ -613,7 +613,7 @@ public class ExportController extends BaseController {
                     "所在乐团", "乐团所属声部", "所在乐团状态", "所在vip课", "所在VIP状态", "服务标签", "运营标签", "指导老师", "是否签订协议"}, new String[]{
                     "organName", "userId", "username", "gender.description", "parentsName", "parentsPhone",
                     "isActive.msg", "hasCourse.msg", "hasPracticeCourse.msg", "courseBalance", "balance", "musicGroupName",
-                    "subjectName", "musicGroupStatus", "vipGroupName", "vipGroupStatus", "serviceTag.msg", "operatingTag.msg", "teacherName", "isSignedContract"}, rows);
+                    "subjectName", "musicGroupStatus", "vipGroupName", "vipGroupStatus", "serviceTag.msg", "operatingTag.msg", "teacherName", "isSignedContract ? '是' : '否'"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
             response.flushBuffer();

+ 6 - 5
mec-web/src/main/java/com/ym/mec/web/controller/education/EduInspectionItemPlanConclusionController.java

@@ -1,6 +1,7 @@
 package com.ym.mec.web.controller.education;
 
 import com.ym.mec.biz.dal.dto.InspectionItemPlanConclusionDto;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion;
 import com.ym.mec.biz.service.InspectionItemPlanConclusionService;
 import com.ym.mec.common.controller.BaseController;
@@ -16,7 +17,7 @@ import java.util.List;
 import java.util.Map;
 
 @Api(tags = "教务巡查结果")
-@RequestMapping("inspectionItemPlanConclusion")
+@RequestMapping("eduInspectionItemPlanConclusion")
 @RestController
 public class EduInspectionItemPlanConclusionController extends BaseController {
     @Autowired
@@ -36,10 +37,10 @@ public class EduInspectionItemPlanConclusionController extends BaseController {
         return succeed(InspectionItemPlanConclusionService.getInfo(planId, checkItem));
     }
 
-    @ApiOperation(value = "获取日程时间段内的乐团上课老师")
-    @GetMapping("/getTeacherS")
+    @ApiOperation(value = "获取日程时间段内的课程信息")
+    @GetMapping("/getPlanCourses")
     @ApiImplicitParams({@ApiImplicitParam(name = "planId", value = "日程id", required = true, dataType = "int")})
-    public HttpResponseResult<Map<Integer, List<InspectionItemPlanConclusion>>> getTeacherS(Long planId, Integer checkItem) {
-        return succeed(InspectionItemPlanConclusionService.getInfo(planId, checkItem));
+    public HttpResponseResult<List<CourseSchedule>> getPlanCourses(Long planId) {
+        return succeed(InspectionItemPlanConclusionService.getPlanCourses(planId));
     }
 }