Merge remote-tracking branch 'origin/master'

hehai
shijie 4 years ago
commit 044c5b65c4
  1. 7
      src/main/java/com/msdw/tms/api/AchievementManagementApi.java
  2. 8
      src/main/java/com/msdw/tms/controller/AchievementManagementController.java
  3. 3
      src/main/java/com/msdw/tms/controller/ExperimentalTeachingController.java
  4. 2
      src/main/java/com/msdw/tms/dao/ClassTeachingDao.java
  5. 2
      src/main/java/com/msdw/tms/entity/ResultsEntity.java
  6. 12
      src/main/java/com/msdw/tms/entity/request/AchievementImportRequest.java
  7. 2
      src/main/java/com/msdw/tms/entity/vo/ResultsVo.java
  8. 2
      src/main/java/com/msdw/tms/service/AchievementManagementService.java
  9. 1
      src/main/java/com/msdw/tms/service/ExperimentalTeachingService.java
  10. 47
      src/main/java/com/msdw/tms/service/impl/AchievementManagementServiceImpl.java
  11. 10
      src/main/java/com/msdw/tms/service/impl/ExperimentalTeachingServiceImpl.java
  12. 2
      src/main/java/com/msdw/tms/service/impl/ProjectRecordServiceImpl.java
  13. BIN
      src/main/resources/excel-template/川大成绩管理实验记录导出模板 (1).xlsx
  14. 97
      src/main/resources/mapper/tms/AchievementManagementDao.xml
  15. 7
      src/main/resources/mapper/tms/ClassTeachingDao.xml
  16. 84
      src/main/resources/mapper/tms/ExperimentalTeachingDao.xml
  17. 11
      src/main/resources/mapper/tms/ProjectRecordDao.xml

@ -8,6 +8,7 @@ import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@Api(value = "成绩管理", tags = "成绩管理")
public interface AchievementManagementApi {
@ -79,8 +80,10 @@ public interface AchievementManagementApi {
@ApiOperation(value = "发布成绩", notes = "发布成绩--修改教师签名")
R updateSignatrue(@ApiParam(value = "实验报告主键reportId + 是否使用教师签名isSignature + 教师签名id signatureId + 教师评语comment") ExperimentalReportEntity entity);
@ApiOperation(value = "成绩管理删除项目", notes = "将项目管理表isdel置1")
R deleteReportByProjectId(@ApiParam(value = "项目id", required = true) Integer projectId);
@ApiOperation(value = "成绩管理批量删除项目", notes = "将项目管理下的成绩管理批量删除")
R deleteReportByIds(@ApiParam(value = "项目id", required = true) List<Integer> projectIds,
@ApiParam(value = "项目类型(0练习,1考核)", required = true) Integer projectPermissions,
@ApiParam(value = "教学实验id",required = false) List<Integer> ids);
@ApiOperation(value = "成绩管理:虚拟仿真实验成绩管理", notes = "成绩管理:虚拟仿真实验成绩管理")

@ -275,15 +275,15 @@ public class AchievementManagementController implements AchievementManagementApi
/**
* 删除成绩管理中的项目
* 批量删除成绩管理中的项目
*
* @param projectId
* @return
*/
@Override
@PostMapping("/deleteReportById")
public R deleteReportByProjectId(@RequestParam Integer projectId) {
return service.deleteReportByProjectId(projectId);
public R deleteReportByIds(@RequestParam List<Integer> projectIds,@RequestParam Integer projectPermissions,
@RequestParam(required = false) List<Integer> ids) {
return service.deleteReportById(projectIds,projectPermissions,ids);
}
/**

@ -124,7 +124,8 @@ public class ExperimentalTeachingController implements ExperimentalTeachingContr
@Override
@PostMapping("/delete")
public R delete(@RequestBody Integer[] ids){
experimentalTeachingService.removeByIds(Arrays.asList(ids));
//改为假删除tms_experimental_teaching
experimentalTeachingService.deleteTeachByIds(Arrays.asList(ids));
return R.ok();
}

@ -26,4 +26,6 @@ public interface ClassTeachingDao {
int updateExperimentalNumber(Integer number, Integer id);
void updateIsDel(Integer id);
}

@ -48,6 +48,8 @@ public class ResultsEntity{
//实验名称
private String experimentalName;
private Integer isdel;
}

@ -15,24 +15,24 @@ public class AchievementImportRequest {
@ExcelAttribute(sort = 0)
private String schoolName;
//实验班级
/* //实验班级
@ExcelAttribute(sort = 1)
private String experimentalClassName;
private String experimentalClassName;*/
//学生姓名
@ExcelAttribute(sort = 2)
@ExcelAttribute(sort = 1)
private String userName;
//学号
@ExcelAttribute(sort = 3)
@ExcelAttribute(sort = 2)
private String workNumber;
//分数
@ExcelAttribute(sort = 4)
@ExcelAttribute(sort = 3)
private String score;
//提交时间
@ExcelAttribute(sort = 5)
@ExcelAttribute(sort = 4)
private String submitTime;
}

@ -40,4 +40,6 @@ public class ResultsVo {
//用户id
private Integer userId;
private Integer isdel;
}

@ -44,7 +44,7 @@ public interface AchievementManagementService extends IService<ExperimentalRepor
void updateSignatrue(ExperimentalReportEntity entity);
R deleteReportByProjectId(Integer projectId);
R deleteReportById(List<Integer> projectId,Integer projectPermissions, List<Integer> id);
List<AchievementManagementVO> getImitationAchievement(Integer projectId);

@ -16,4 +16,5 @@ public interface ExperimentalTeachingService extends IService<ExperimentalTeachi
PageUtils queryExperimentalTeaching(Integer page, Integer size, ExperimentalTeachingVO vo);
void deleteTeachByIds(List<Integer> asList);
}

@ -78,9 +78,26 @@ public class AchievementManagementServiceImpl extends ServiceImpl<AchievementMan
return R.ok().put("name", name);
}
/**
* 虚拟仿真列表
*
* @param vo
* @param page
* @param size
* @return
*/
@Override
public List<ResultsEntity> list(ResultsVo vo, Integer page, Integer size) {
List<ResultsEntity> list = achievementManagementDao.list(vo);
for (ResultsEntity entity : list) {
Integer number = achievementManagementDao.getImitationAchievement(entity.getProjectId()).size();
entity.setNumber(number);
}
return list;
}
@ -93,6 +110,10 @@ public class AchievementManagementServiceImpl extends ServiceImpl<AchievementMan
@Override
public List<ResultsEntity> newList(ResultsVo vo, Integer page, Integer size) {
List<ResultsEntity> newList = achievementManagementDao.newList(vo);
for (ResultsEntity entity : newList) {
Integer number = achievementManagementDao.getTeachAchievement(entity.getId()).size();
entity.setNumber(number);
}
return newList;
}
@ -199,7 +220,7 @@ public class AchievementManagementServiceImpl extends ServiceImpl<AchievementMan
List<AchievementImportRequest> achievement = achievementManagementDao.queryAchievement(list);
//2.加载模板流数据
ClassPathResource resource = new ClassPathResource("excel-template/川大成绩管理实验记录导出模板.xlsx");
ClassPathResource resource = new ClassPathResource("excel-template/川大成绩管理实验记录导出模板 (1).xlsx");
InputStream inputStream = resource.getInputStream();
//3、通过工具类下载文件
@ -284,9 +305,28 @@ public class AchievementManagementServiceImpl extends ServiceImpl<AchievementMan
@Override
public R deleteReportByProjectId(Integer projectId) {
public R deleteReportById(List<Integer> projectIds,Integer projectPermissions, List<Integer> ids) {
if (projectPermissions == 1){//实验教学
for (Integer id: ids) {
List<AchievementManagementVO> teachAchievements = achievementManagementDao.getTeachAchievement(id);
for (AchievementManagementVO teachAchievement : teachAchievements) {
Integer reportId = teachAchievement.getReportId();
Integer recordId = teachAchievement.getRecordId();
achievementManagementDao.deleteReport(reportId, recordId);
}
}
}else {
for (Integer projectId: projectIds) {//虚仿实验
List<AchievementManagementVO> imitationAchievements = achievementManagementDao.getImitationAchievement(projectId);
for (AchievementManagementVO imitationAchievement: imitationAchievements) {
Integer reportId = imitationAchievement.getReportId();
Integer recordId = imitationAchievement.getRecordId();
achievementManagementDao.deleteReport(reportId,recordId);
}
}
}
achievementManagementDao.deleteReportById(projectId);
return R.ok();
}
@ -295,6 +335,7 @@ public class AchievementManagementServiceImpl extends ServiceImpl<AchievementMan
public List<AchievementManagementVO> getImitationAchievement(Integer projectId) {
List<AchievementManagementVO> list = achievementManagementDao.getImitationAchievement(projectId);
return list;
}

@ -15,6 +15,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service("experimentalTeachingService")
public class ExperimentalTeachingServiceImpl extends ServiceImpl<ExperimentalTeachingDao, ExperimentalTeachingEntity> implements ExperimentalTeachingService {
@ -50,4 +52,12 @@ public class ExperimentalTeachingServiceImpl extends ServiceImpl<ExperimentalTea
return pageUtils;
}
@Override
public void deleteTeachByIds(List<Integer> asList) {
int size = asList.size();
for (int i = 0; i < size; i++) {
classTeachingDao.updateIsDel(asList.get(i));
}
}
}

@ -75,7 +75,7 @@ public class ProjectRecordServiceImpl extends ServiceImpl<ProjectRecordDao, Proj
ProjectRecordVo projectRecordVo = this.baseMapper.getByUserScore(userId, isdel);
Double totalTime = projectRecordVo.getTotalTime();
if (totalTime != null) {
DecimalFormat df = new DecimalFormat("0.0");
DecimalFormat df = new DecimalFormat("0.00");
double time = totalTime / 60;
String format = df.format(time);
projectRecordVo.setTotalTime(Double.parseDouble(format));

@ -391,15 +391,36 @@
GROUP BY hec.codeId
</select>
<!--SELECT hpm.creationTime,hpm.projectId,hpm.projectName,hpm.projectPermissions,hpm.systemId,(SELECT count(*) FROM
tms_project_record her where hpm.projectId = her.projectId and her.isdel = 0 ) as number
FROM hr_project_management hpm
WHERE systemId = #{systemId}
AND hpm.isdel = 0
AND hpm.projectPermissions = #{projectPermissions}
<if test="searchContant!=null and searchContant!=''">and hpm.projectName like concat('%',#{searchContant},'%')
</if>
<if test="startTime!=null and startTime!='' and endTime!=null and endTime != ''">and hpm.creationTime between
#{endTime} and #{startTime}
</if>
<if test="month!=null and month != ''">and DATE_SUB(CURDATE(), INTERVAL #{month} month ) &lt;=
date(hpm.creationTime)
</if>
ORDER BY hpm.creationTime DESC-->
<select id="list" resultType="com.msdw.tms.entity.ResultsEntity">
SELECT hpm.creationTime,hpm.projectId,hpm.projectName,hpm.projectPermissions,hpm.systemId,(SELECT count(*) FROM
tms_project_record her where hpm.projectId = her.projectId and her.isdel = 0 ) as number
FROM hr_project_management hpm
SELECT
hpm.projectId,
hpm.projectName,
hpm.projectPermissions,
hpm.systemId,
hpm.creationTime,
hpm.isdel
FROM
hr_project_management hpm
WHERE systemId = #{systemId}
AND hpm.isdel = 0
<if test="projectPermissions!=null and projectPermissions!=''">AND hpm.projectPer missions =
#{projectPermissions}
</if>
AND hpm.projectPermissions = #{projectPermissions}
<if test="searchContant!=null and searchContant!=''">and hpm.projectName like concat('%',#{searchContant},'%')
</if>
<if test="startTime!=null and startTime!='' and endTime!=null and endTime != ''">and hpm.creationTime between
@ -411,6 +432,37 @@
ORDER BY hpm.creationTime DESC
</select>
<!-- <select id="newList" resultType="com.msdw.tms.entity.ResultsEntity">-->
<!-- SELECT-->
<!-- et.id,-->
<!-- et.experimental_class_name AS experimentalClassName,-->
<!-- et.experimental_name AS experimentalName,-->
<!-- et.project_id AS projectId,-->
<!-- pm.projectName,-->
<!-- pm.projectPermissions,-->
<!-- et.creation_time AS creationTime,-->
<!-- ( SELECT count( * ) FROM tms_experimental_report her WHERE et.id = her.projectId AND her.isdel = 0 ) AS number,-->
<!-- et.is_del-->
<!-- FROM-->
<!-- tms_experimental_teaching et,-->
<!-- hr_project_management pm-->
<!-- WHERE-->
<!-- user_id = #{userId}-->
<!-- AND et.project_id = pm.projectId-->
<!-- AND pm.isdel = 0-->
<!-- <if test="searchContant!=null and searchContant!=''">and et.experimental_class_name like-->
<!-- concat('%',#{searchContant},'%') or et.experimental_name like concat('%',#{searchContant},'%') or-->
<!-- pm.projectName like concat('%',#{searchContant},'%')-->
<!-- </if>-->
<!-- <if test="startTime!=null and startTime!='' and endTime!=null and endTime != ''">and et.creation_time between-->
<!-- #{endTime} and #{startTime}-->
<!-- </if>-->
<!-- <if test="month!=null and month != ''">and DATE_SUB(CURDATE(), INTERVAL #{month} month ) &lt;=-->
<!-- date(et.creation_time)-->
<!-- </if>-->
<!-- ORDER BY et.creation_time DESC-->
<!-- </select>-->
<select id="newList" resultType="com.msdw.tms.entity.ResultsEntity">
SELECT
et.id,
@ -420,7 +472,7 @@
pm.projectName,
pm.projectPermissions,
et.creation_time AS creationTime,
( SELECT count( * ) FROM tms_experimental_report her WHERE et.id = her.projectId AND her.isdel = 0 ) AS number
et.is_del
FROM
tms_experimental_teaching et,
hr_project_management pm
@ -440,7 +492,6 @@
</if>
ORDER BY et.creation_time DESC
</select>
<select id="reportList" resultType="com.msdw.tms.entity.ReportEntity">
SELECT hui.userId,her.reportId,hui.userName as
studentName,s.schoolName,stu.workNumber,her.score,her.creationTime
@ -528,6 +579,29 @@
AND sch.isdel = 0
AND ter.isdel = 0
AND tet.is_del = 0-->
<!-- <select id="getTeachAchievement" resultType="com.msdw.tms.entity.vo.AchievementManagementVO">-->
<!-- SELECT schoolName,-->
<!-- experimental_class_name,-->
<!-- userName,-->
<!-- workNumber,-->
<!-- r.score,-->
<!-- r.recordId,-->
<!-- report.reportId,-->
<!-- r.submitTime,-->
<!-- stu.studentId,-->
<!-- t.id as projectId-->
<!-- FROM tms_experimental_teaching t-->
<!-- INNER JOIN tms_experimental_report report ON report.projectId = t.id-->
<!-- INNER JOIN tms_project_record r ON r.recordId = report.eventId-->
<!-- INNER JOIN hr_user_info u ON u.userId = r.userId-->
<!-- INNER JOIN school s ON s.schoolId = u.schoolId-->
<!-- INNER JOIN student stu ON stu.userId = u.userId-->
<!-- WHERE t.id = #{id}-->
<!-- AND t.is_del = 0-->
<!-- AND report.isdel = 0-->
<!-- </select>-->
<select id="getTeachAchievement" resultType="com.msdw.tms.entity.vo.AchievementManagementVO">
SELECT schoolName,
experimental_class_name,
@ -538,7 +612,7 @@
report.reportId,
r.submitTime,
stu.studentId,
t.id as projectId
t.id as projectId
FROM tms_experimental_teaching t
INNER JOIN tms_experimental_report report ON report.projectId = t.id
INNER JOIN tms_project_record r ON r.recordId = report.eventId
@ -546,12 +620,7 @@
INNER JOIN school s ON s.schoolId = u.schoolId
INNER JOIN student stu ON stu.userId = u.userId
WHERE t.id = #{id}
AND t.is_del = 0
AND report.isdel = 0
AND r.isdel = 0
AND u.isdel = 0
AND s.isdel = 0
AND stu.isdel = 0;
</select>

@ -117,4 +117,11 @@
WHERE
id = #{id}
</update>
<update id="updateIsDel">
UPDATE tms_experimental_teaching
SET is_del = 1
WHERE
id = #{id}
</update>
</mapper>

@ -3,29 +3,75 @@
<mapper namespace="com.msdw.tms.dao.ExperimentalTeachingDao">
<!--SELECT
id,
experimental_class_name,
experimental_name,
project_id,
project_name,
(select count(*)
from tms_project_record WHERE projectId = project_id AND tms_project_record.isdel = 0) as experimental_number,
experiment_duration,
type,
start_time,
stop_time,
status,
invitation_code,
is_code,
user_id,
creation_time,
surplus_time
FROM
tms_experimental_teaching
WHERE
is_del = 0
<if test="exp.type!=null">
AND `type`=#{exp.type,jdbcType=INTEGER}
</if>
<if test="exp.status!=null">
AND `status`=#{exp.status,jdbcType=INTEGER}
</if>
<if test="exp.systemId!=null">
AND `system_id`=#{exp.systemId,jdbcType=INTEGER}
</if>
<if test='exp.startTime!=null and exp.stopTime!=null'>
AND creation_time between #{exp.startTime} and #{exp.stopTime}
</if>
<if test="exp.searchContent!=null">
AND (experimental_name like concat('%',#{exp.searchContent},'%') or experimental_class_name like concat('%',#{exp.searchContent},'%') )
</if>
<if test="exp.month!=null">
AND DATE_SUB(CURDATE(), INTERVAL #{exp.month} month ) &lt;= date(creation_time)
</if>
<if test='exp.schoolId!=null and exp.schoolId!=null'>
AND (user_id in (select userId FROM staff WHERE schoolId = #{exp.schoolId} AND isdel = 0 AND FIND_IN_SET(roleId,'1,2,3') )
OR user_id IN ( SELECT userId FROM hr_user_info WHERE disableAccount = 0 AND isdel = 0 AND FIND_IN_SET( roleId, '1' ) ) )
</if>
order by creation_time desc-->
<select id="queryExperimentalTeaching" resultType="com.msdw.tms.entity.ExperimentalTeachingEntity">
SELECT
id,
experimental_class_name,
experimental_name,
project_id,
project_name,
(select count(*)
from tms_project_record WHERE projectId = project_id) as experimental_number,
experiment_duration,
type,
start_time,
stop_time,
status,
invitation_code,
is_code,
user_id,
creation_time,
surplus_time
id,
experimental_class_name,
experimental_name,
project_id,
project_name,
( SELECT count( * ) FROM tms_project_record WHERE projectId = project_id AND tms_project_record.isdel = 0 ) AS experimental_number,
experiment_duration,
type,
start_time,
stop_time,
STATUS,
invitation_code,
is_code,
user_id,
creation_time,
surplus_time ,
systemId
FROM
tms_experimental_teaching
tms_experimental_teaching t
inner join hr_project_management m on m.projectId = t.project_id
WHERE
is_del = 0
t.is_del = 0
<if test="exp.type!=null">
AND `type`=#{exp.type,jdbcType=INTEGER}
</if>

@ -113,6 +113,15 @@
tpr.submitTime DESC
</select>
<!--SELECT userName,
count(*) AS experimentNumber,
sum(timeSum) AS totalTime,
avg(score) avgScore
FROM tms_project_record pr
LEFT JOIN hr_user_info u ON pr.userId = u.userId
WHERE pr.userId = #{userid}
and pr.isdel = #{isdel}
and u.isdel = #{isdel}-->
<!-- 个人实验预览-->
<select id="getByUserScore" resultType="com.msdw.tms.entity.vo.ProjectRecordVo">
SELECT userName,
@ -122,8 +131,6 @@
FROM tms_project_record pr
LEFT JOIN hr_user_info u ON pr.userId = u.userId
WHERE pr.userId = #{userid}
and pr.isdel = #{isdel}
and u.isdel = #{isdel}
</select>
<!-- 个人实验预览-->
<select id="queryScore" resultType="com.msdw.tms.entity.vo.ProjectRecordVo">

Loading…
Cancel
Save