dzx преди 1 година
родител
ревизия
bc3053c829

+ 13 - 0
src/main/java/com/xjrsoft/module/classtime/controller/ClassTimeStatisticsController.java

@@ -20,6 +20,7 @@ import com.xjrsoft.module.classtime.entity.ClassTimeStatisticsSet;
 import com.xjrsoft.module.classtime.service.IClassTimeStatisticsService;
 import com.xjrsoft.module.classtime.service.IClassTimeStatisticsSetService;
 import com.xjrsoft.module.classtime.vo.ClassTimeStatisticsPageVo;
+import com.xjrsoft.module.classtime.vo.ClassTimeStatisticsRecordVo;
 import com.xjrsoft.module.classtime.vo.ClassTimeStatisticsVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -116,6 +117,9 @@ public class ClassTimeStatisticsController {
         }
         statistics.setStatus(dto.getStatus());
         classTimeStatisticsService.updateById(statistics);
+        if(dto.getStatus() != null && dto.getStatus() == 3){
+            classTimeStatisticsService.lockData(dto.getId());
+        }
         return RT.ok(true);
     }
 
@@ -175,4 +179,13 @@ public class ClassTimeStatisticsController {
         return RT.ok(aBoolean);
     }
 
+
+    @GetMapping(value = "/record-list")
+    @ApiOperation(value="课时统计详情列表")
+    @SaCheckPermission("classtimestatistics:detail")
+    public RT<List<ClassTimeStatisticsRecordVo>> recordPage(@Valid RefreshStatisticsDto dto){
+        List<ClassTimeStatisticsRecordVo> recordList = classTimeStatisticsService.getRecordList(dto.getId());
+        return RT.ok(recordList);
+    }
+
 }

+ 4 - 0
src/main/java/com/xjrsoft/module/classtime/mapper/ClassTimeStatisticsMapper.java

@@ -1,7 +1,9 @@
 package com.xjrsoft.module.classtime.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.classtime.entity.ClassTimeStatistics;
+import com.xjrsoft.module.classtime.vo.ClassTimeStatisticsRecordVo;
 import com.xjrsoft.module.classtime.vo.CourseListVo;
 import com.xjrsoft.module.classtime.vo.TeacherListVo;
 import com.xjrsoft.module.oa.entity.WfTeacherCourseTime;
@@ -39,4 +41,6 @@ public interface ClassTimeStatisticsMapper extends MPJBaseMapper<ClassTimeStatis
      * @return
      */
     List<CourseListVo> getSubstituteList(@Param("dto") ClassTimeStatistics dto);
+
+    List<ClassTimeStatisticsRecordVo> getRecordList(@Param("id") Long id);
 }

+ 11 - 0
src/main/java/com/xjrsoft/module/classtime/service/IClassTimeStatisticsService.java

@@ -3,6 +3,8 @@ package com.xjrsoft.module.classtime.service;
 import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.classtime.dto.AddClassTimeStatisticsDto;
 import com.xjrsoft.module.classtime.entity.ClassTimeStatistics;
+import com.xjrsoft.module.classtime.vo.ClassTimeStatisticsRecordVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -46,4 +48,13 @@ public interface IClassTimeStatisticsService extends MPJBaseService<ClassTimeSta
     Boolean add(AddClassTimeStatisticsDto dto);
 
     Boolean refreshRecord(ClassTimeStatistics statistics);
+
+    /**
+     * 锁定数据
+     * @param id
+     * @return
+     */
+    Boolean lockData(Long id);
+
+    List<ClassTimeStatisticsRecordVo> getRecordList(@Param("id") Long id);
 }

+ 16 - 0
src/main/java/com/xjrsoft/module/classtime/service/impl/ClassTimeStatisticsServiceImpl.java

@@ -23,6 +23,7 @@ import com.xjrsoft.module.classtime.mapper.ClassTimeStatisticsRecordMapper;
 import com.xjrsoft.module.classtime.service.IClassTimeDeleteService;
 import com.xjrsoft.module.classtime.service.IClassTimeStatisticsService;
 import com.xjrsoft.module.classtime.service.IClassTimeStatisticsSetService;
+import com.xjrsoft.module.classtime.vo.ClassTimeStatisticsRecordVo;
 import com.xjrsoft.module.classtime.vo.CourseListVo;
 import com.xjrsoft.module.classtime.vo.TeacherListVo;
 import com.xjrsoft.module.classtime.vo.WeekTimeRangeVo;
@@ -252,6 +253,11 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
                     }
                 }
             }
+            record.setClassTime7(classTime7);
+            record.setClassTime8(classTime8);
+            record.setClassTime9(classTime9);
+            record.setClassTime10(classTime10);
+            record.setClassTime11(classTime11);
             JsonObject weekDataJson = new JsonObject();
             Double allTimes = 0d;
             //存每周的数据
@@ -403,6 +409,16 @@ public class ClassTimeStatisticsServiceImpl extends MPJBaseServiceImpl<ClassTime
         return true;
     }
 
+    @Override
+    public Boolean lockData(Long id) {
+        return null;
+    }
+
+    @Override
+    public List<ClassTimeStatisticsRecordVo> getRecordList(Long id) {
+        return this.baseMapper.getRecordList(id);
+    }
+
     //计算日期内一共几个周,并返回每周的周一日期和周日日期
     private static List<WeekTimeRangeVo> calculateNaturalWeeks(LocalDate startDate, LocalDate endDate) {
         List<WeekTimeRangeVo> result = new ArrayList<>();

+ 5 - 17
src/main/java/com/xjrsoft/module/classtime/vo/ClassTimeStatisticsRecordVo.java

@@ -22,18 +22,18 @@ public class ClassTimeStatisticsRecordVo {
     /**
     * 课时统计(class_time_statistics)
     */
-    @ApiModelProperty("课时统计(class_time_statistics)")
-    private Long classTimeStatisticsId;
+    @ApiModelProperty("姓名")
+    private String name;
     /**
     * 教师id(xjr_user)
     */
-    @ApiModelProperty("教师id(xjr_user)")
-    private Long userId;
+    @ApiModelProperty("工号")
+    private String userName;
     /**
     * 聘用类型
     */
     @ApiModelProperty("聘用类型")
-    private Date employType;
+    private String employTypeCn;
     /**
     * 总课时
     */
@@ -114,17 +114,5 @@ public class ClassTimeStatisticsRecordVo {
     */
     @ApiModelProperty("调课")
     private Double classTime11;
-    /**
-    * 权重json
-    */
-    @ApiModelProperty("权重json")
-    private String weightSetJson;
-    /**
-    * 权重json
-    */
-    @ApiModelProperty("权重json")
-    private String costSetJson;
-
-
 
 }

+ 11 - 0
src/main/resources/mapper/classtime/ClassTimeStatisticsMapper.xml

@@ -48,4 +48,15 @@
         AND t3.schedule_date BETWEEN #{dto.startDate} and #{dto.endDate}
     </select>
 
+
+    <select id="getRecordList" resultType="com.xjrsoft.module.classtime.vo.ClassTimeStatisticsRecordVo">
+        SELECT t1.id,t2.user_name,t2.name,t3.name AS employ_type_cn,
+        t1.class_time_1,t1.class_time_2,t1.class_time_3,t1.class_time_4,t1.class_time_5,
+        t1.class_time_6,t1.class_time_7,t1.class_time_8,t1.class_time_9,t1.class_time_10,t1.class_time_11,
+        t1.all_class_time,t1.total_amount,t1.class_time_amount,t1.beyond_class_time_amount FROM class_time_statistics_record t1
+        INNER JOIN xjr_user t2 ON t1.user_id = t2.id
+        LEFT JOIN xjr_dictionary_detail t3 ON t1.employ_type = t3.code
+        WHERE t1.delete_mark = 0 AND t1.class_time_statistics_id = #{id}
+    </select>
+
 </mapper>