修复思想品德加分问题
This commit is contained in:
@@ -1,14 +1,18 @@
|
|||||||
package com.srs.web.controller.comprehensive;
|
package com.srs.web.controller.comprehensive;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import com.srs.common.annotation.RepeatSubmit;
|
import com.srs.common.annotation.RepeatSubmit;
|
||||||
import com.srs.comprehensive.domain.CphMsg;
|
import com.srs.comprehensive.domain.CphMsg;
|
||||||
import com.srs.comprehensive.domain.Dto.CphCancel;
|
import com.srs.comprehensive.domain.Dto.CphCancel;
|
||||||
import com.srs.comprehensive.domain.Dto.CphResub;
|
import com.srs.comprehensive.domain.Dto.CphResub;
|
||||||
|
import com.srs.comprehensive.domain.SrsAddRecord;
|
||||||
import com.srs.comprehensive.domain.SrsStudent;
|
import com.srs.comprehensive.domain.SrsStudent;
|
||||||
|
import com.srs.comprehensive.domain.Vo.CheckIam;
|
||||||
import com.srs.comprehensive.domain.Vo.CphApply;
|
import com.srs.comprehensive.domain.Vo.CphApply;
|
||||||
import com.srs.comprehensive.domain.Vo.CphSearch;
|
import com.srs.comprehensive.domain.Vo.CphSearch;
|
||||||
import com.srs.comprehensive.service.ICphMsgService;
|
import com.srs.comprehensive.service.ICphMsgService;
|
||||||
@@ -52,6 +56,29 @@ public class CphAuditDetailsController extends BaseController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ISrsStudentService _student;
|
private ISrsStudentService _student;
|
||||||
|
|
||||||
|
@PostMapping("/plusCheckRecord")
|
||||||
|
public AjaxResult plusCheckRecord(@RequestBody CphAuditDetails param){
|
||||||
|
return cphAuditDetailsService.plusCheckRecord(param);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/listCheckAuditAndRecord")
|
||||||
|
public AjaxResult listCheckAuditAndRecord(CheckIam param) {
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
List<CphAuditDetails> list = cphAuditDetailsService.listCheckAudit(param);
|
||||||
|
List<SrsAddRecord> srsAddRecordList = cphAuditDetailsService.ListCheckRecord(param);
|
||||||
|
map.put("auditList", list);
|
||||||
|
map.put("recordList", srsAddRecordList);
|
||||||
|
return AjaxResult.success(map);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/checkIamList")
|
||||||
|
public AjaxResult checkIamList(){
|
||||||
|
List<CheckIam> res = cphAuditDetailsService.checkIamList();
|
||||||
|
return AjaxResult.success(res);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//清除审核状态不正确的加分记录
|
//清除审核状态不正确的加分记录
|
||||||
@PostMapping("/cleanCancelRecord")
|
@PostMapping("/cleanCancelRecord")
|
||||||
public AjaxResult cleanCancelRecord(){
|
public AjaxResult cleanCancelRecord(){
|
||||||
|
|||||||
@@ -64,6 +64,9 @@ public class CphAuditDetails extends BaseEntity
|
|||||||
private String className;
|
private String className;
|
||||||
private String stuNo;
|
private String stuNo;
|
||||||
private Long gradeId;
|
private Long gradeId;
|
||||||
|
public BigDecimal iamScore;
|
||||||
|
public String auditStatus;
|
||||||
|
public Long stuYearId;
|
||||||
|
|
||||||
|
|
||||||
public String getDeptName() {
|
public String getDeptName() {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.srs.comprehensive.domain;
|
package com.srs.comprehensive.domain;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -86,6 +87,9 @@ public class SrsAddRecord extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private String delFlag;
|
private String delFlag;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
public String ruleName;
|
||||||
|
|
||||||
// public void setAddPointsPerson(Long addPointsPerson) {
|
// public void setAddPointsPerson(Long addPointsPerson) {
|
||||||
// this.addPointsPerson = addPointsPerson;
|
// this.addPointsPerson = addPointsPerson;
|
||||||
// }
|
// }
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.srs.comprehensive.domain.Vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
//思想品德检查
|
||||||
|
@Data
|
||||||
|
public class CheckIam {
|
||||||
|
|
||||||
|
public Long stuYearId;
|
||||||
|
|
||||||
|
public String stuNo;
|
||||||
|
|
||||||
|
public BigDecimal q2Score;
|
||||||
|
|
||||||
|
public BigDecimal q1Score;
|
||||||
|
|
||||||
|
public String diffType;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -3,6 +3,7 @@ package com.srs.comprehensive.mapper;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.srs.comprehensive.domain.CphAuditDetails;
|
import com.srs.comprehensive.domain.CphAuditDetails;
|
||||||
import com.srs.comprehensive.domain.SrsAddRecord;
|
import com.srs.comprehensive.domain.SrsAddRecord;
|
||||||
|
import com.srs.comprehensive.domain.Vo.CheckIam;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -85,4 +86,11 @@ public interface CphAuditDetailsMapper
|
|||||||
|
|
||||||
//查询审核状态不对的加分记录
|
//查询审核状态不对的加分记录
|
||||||
public List<SrsAddRecord> listCancelRecord();
|
public List<SrsAddRecord> listCancelRecord();
|
||||||
|
|
||||||
|
public List<CheckIam> checkIamList();
|
||||||
|
|
||||||
|
public List<CphAuditDetails> listCheckAudit(CheckIam param);
|
||||||
|
|
||||||
|
public List<SrsAddRecord> ListCheckRecord(CheckIam param);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,11 @@ import com.srs.common.core.domain.AjaxResult;
|
|||||||
import com.srs.comprehensive.domain.CphAuditDetails;
|
import com.srs.comprehensive.domain.CphAuditDetails;
|
||||||
import com.srs.comprehensive.domain.Dto.CphCancel;
|
import com.srs.comprehensive.domain.Dto.CphCancel;
|
||||||
import com.srs.comprehensive.domain.Dto.CphResub;
|
import com.srs.comprehensive.domain.Dto.CphResub;
|
||||||
|
import com.srs.comprehensive.domain.SrsAddRecord;
|
||||||
|
import com.srs.comprehensive.domain.Vo.CheckIam;
|
||||||
import com.srs.comprehensive.domain.Vo.CphApply;
|
import com.srs.comprehensive.domain.Vo.CphApply;
|
||||||
import com.srs.comprehensive.domain.Vo.CphSearch;
|
import com.srs.comprehensive.domain.Vo.CphSearch;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审核明细Service接口
|
* 审核明细Service接口
|
||||||
@@ -18,6 +21,14 @@ import com.srs.comprehensive.domain.Vo.CphSearch;
|
|||||||
public interface ICphAuditDetailsService
|
public interface ICphAuditDetailsService
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public AjaxResult plusCheckRecord( CphAuditDetails param);
|
||||||
|
|
||||||
|
public List<CphAuditDetails> listCheckAudit(CheckIam param);
|
||||||
|
|
||||||
|
public List<SrsAddRecord> ListCheckRecord(CheckIam param);
|
||||||
|
|
||||||
|
public List<CheckIam> checkIamList();
|
||||||
|
|
||||||
public AjaxResult cleanCancelRecord();
|
public AjaxResult cleanCancelRecord();
|
||||||
|
|
||||||
public int reSub(CphResub param);
|
public int reSub(CphResub param);
|
||||||
|
|||||||
@@ -14,10 +14,12 @@ import com.srs.common.utils.PageUtils;
|
|||||||
import com.srs.comprehensive.domain.*;
|
import com.srs.comprehensive.domain.*;
|
||||||
import com.srs.comprehensive.domain.Dto.CphCancel;
|
import com.srs.comprehensive.domain.Dto.CphCancel;
|
||||||
import com.srs.comprehensive.domain.Dto.CphResub;
|
import com.srs.comprehensive.domain.Dto.CphResub;
|
||||||
|
import com.srs.comprehensive.domain.Vo.CheckIam;
|
||||||
import com.srs.comprehensive.domain.Vo.CphApply;
|
import com.srs.comprehensive.domain.Vo.CphApply;
|
||||||
import com.srs.comprehensive.domain.Vo.CphSearch;
|
import com.srs.comprehensive.domain.Vo.CphSearch;
|
||||||
import com.srs.comprehensive.mapper.CphIamMapper;
|
import com.srs.comprehensive.mapper.CphIamMapper;
|
||||||
import com.srs.comprehensive.mapper.SrsAddRecordMapper;
|
import com.srs.comprehensive.mapper.SrsAddRecordMapper;
|
||||||
|
import com.srs.comprehensive.mapper.ViewStuInfoMapper;
|
||||||
import com.srs.comprehensive.service.*;
|
import com.srs.comprehensive.service.*;
|
||||||
import com.srs.system.domain.SysPost;
|
import com.srs.system.domain.SysPost;
|
||||||
import com.srs.system.service.ISysPostService;
|
import com.srs.system.service.ISysPostService;
|
||||||
@@ -437,8 +439,8 @@ public class CphAuditDetailsServiceImpl implements ICphAuditDetailsService {
|
|||||||
temp.setId(cphAuditDetails.getProjectId());
|
temp.setId(cphAuditDetails.getProjectId());
|
||||||
temp.setAuditStatus(cphAuditDetails.getStatusCode().toString());
|
temp.setAuditStatus(cphAuditDetails.getStatusCode().toString());
|
||||||
cphIamService.updateCphIam(temp);
|
cphIamService.updateCphIam(temp);
|
||||||
Long statusCode=cphAuditDetailsMapper.selectCphAuditDetailsById(cphAuditDetails.getId()).getStatusCode();
|
// Long statusCode=cphAuditDetailsMapper.selectCphAuditDetailsById(cphAuditDetails.getId()).getStatusCode();
|
||||||
if (statusCode == 6L)//判断审核状态是否完成
|
if (cphAuditDetails.getStatusCode() == 6L)//判断审核状态是否完成
|
||||||
{
|
{
|
||||||
SrsStudent stu = _stuService.selectSrsStudentByStuId(cphAuditDetails.getSubmitterId());
|
SrsStudent stu = _stuService.selectSrsStudentByStuId(cphAuditDetails.getSubmitterId());
|
||||||
SrsAddRecord srsAddRecord = new SrsAddRecord();//加分记录表
|
SrsAddRecord srsAddRecord = new SrsAddRecord();//加分记录表
|
||||||
@@ -575,6 +577,85 @@ public class CphAuditDetailsServiceImpl implements ICphAuditDetailsService {
|
|||||||
cphAuditDetailsS.setStatusCode(cphAuditDetails.getStatusCode());
|
cphAuditDetailsS.setStatusCode(cphAuditDetails.getStatusCode());
|
||||||
int i = cphAuditDetailsMapper.updateCphAuditDetails(cphAuditDetailsS);
|
int i = cphAuditDetailsMapper.updateCphAuditDetails(cphAuditDetailsS);
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CheckIam> checkIamList(){
|
||||||
|
return cphAuditDetailsMapper.checkIamList();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<CphAuditDetails> listCheckAudit(CheckIam param){
|
||||||
|
return cphAuditDetailsMapper.listCheckAudit(param);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SrsAddRecord> ListCheckRecord(CheckIam param){
|
||||||
|
return cphAuditDetailsMapper.ListCheckRecord(param);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ViewStuInfoMapper viewStuInfoMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult plusCheckRecord(CphAuditDetails param){
|
||||||
|
try{
|
||||||
|
Long auditId = param.getId();
|
||||||
|
CphAuditDetails cphAuditDetails = selectCphAuditDetailsById(auditId);
|
||||||
|
if(cphAuditDetails == null){
|
||||||
|
throw new Exception("审核记录不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
Long iamId = cphAuditDetails.getProjectId();
|
||||||
|
CphIam cphIam = cphIamService.selectCphIamById(iamId);
|
||||||
|
if(cphIam == null){
|
||||||
|
throw new Exception("思想品德记录不存在");
|
||||||
|
}
|
||||||
|
QueryWrapper<ViewStuInfo> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("stu_id", cphIam.getToAdd());
|
||||||
|
ViewStuInfo viewStuInfo = viewStuInfoMapper.selectOne(queryWrapper);
|
||||||
|
if(viewStuInfo == null) {
|
||||||
|
throw new Exception("学生信息不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
SrsAddRecord query = new SrsAddRecord();
|
||||||
|
query.setIamId(iamId);
|
||||||
|
query.setStatusCode("6");
|
||||||
|
query.setStuYearId(Math.toIntExact(cphIam.getStuYearId()));
|
||||||
|
List<SrsAddRecord> srsAddRecordList = srsAddRecordService.selectSrsAddRecordList(query);
|
||||||
|
if(!srsAddRecordList.isEmpty()){
|
||||||
|
throw new Exception("该记录已存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
SrsAddRecord srsAddRecord = new SrsAddRecord();
|
||||||
|
srsAddRecord.setStuNo(viewStuInfo.getStuNo());
|
||||||
|
srsAddRecord.setApplicant(getUserId());
|
||||||
|
srsAddRecord.setRuleId(cphIam.getRuleId());
|
||||||
|
srsAddRecord.setDescription(cphIam.getDescription());
|
||||||
|
srsAddRecord.setMaterial(cphIam.getMaterial());
|
||||||
|
srsAddRecord.setRecordScore(cphIam.getIamScore());
|
||||||
|
srsAddRecord.setStuYearId(Math.toIntExact(cphIam.getStuYearId()));
|
||||||
|
srsAddRecord.setIamId(cphIam.getId());
|
||||||
|
|
||||||
|
srsAddRecord.setStatusCode("6");
|
||||||
|
srsAddRecord.setStatus("0");
|
||||||
|
srsAddRecord.setDelFlag("0");
|
||||||
|
|
||||||
|
srsAddRecord.setCreateBy(getUsername());
|
||||||
|
srsAddRecord.setUpdateBy(getUsername());
|
||||||
|
srsAddRecord.setCreateTime(getNowDate());
|
||||||
|
srsAddRecord.setUpdateTime(getNowDate());
|
||||||
|
|
||||||
|
int i = srsAddRecordService.insertSrsAddRecord(srsAddRecord);
|
||||||
|
if(i == 0){
|
||||||
|
throw new Exception("添加加分记录失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
return AjaxResult.success();
|
||||||
|
}catch(Exception ex){
|
||||||
|
return AjaxResult.error(ex.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -177,4 +177,72 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
left join cph_iam as b on a.iam_id = b.id
|
left join cph_iam as b on a.iam_id = b.id
|
||||||
where b.audit_status not in (6,12)
|
where b.audit_status not in (6,12)
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="checkIamList" resultType="CheckIam">
|
||||||
|
-- 先将两个查询结果作为子查询,再进行比较
|
||||||
|
SELECT
|
||||||
|
q2.stu_year_id,
|
||||||
|
q2.stu_no,
|
||||||
|
q2.iam_score AS q2_score,
|
||||||
|
q1.iam_score AS q1_score,
|
||||||
|
-- 标记差异类型
|
||||||
|
CASE
|
||||||
|
WHEN q1.iam_score IS NULL THEN '加分记录表中不存在'
|
||||||
|
ELSE '分数不相等'
|
||||||
|
END AS diff_type
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
-- 第二个查询(作为子查询q2)
|
||||||
|
SELECT
|
||||||
|
b.stu_year_id,
|
||||||
|
c.stu_no,
|
||||||
|
SUM(b.iam_score) AS iam_score
|
||||||
|
FROM
|
||||||
|
cph_audit_details AS a
|
||||||
|
LEFT JOIN cph_iam AS b ON a.project_id = b.id
|
||||||
|
LEFT JOIN view_stu_info AS c ON b.to_add = c.stu_id
|
||||||
|
WHERE
|
||||||
|
a.status_code = 6
|
||||||
|
GROUP BY
|
||||||
|
b.stu_year_id,
|
||||||
|
c.stu_no
|
||||||
|
) AS q2
|
||||||
|
LEFT JOIN (
|
||||||
|
-- 第一个查询(作为子查询q1)
|
||||||
|
SELECT
|
||||||
|
a.stu_year_id,
|
||||||
|
a.stu_no,
|
||||||
|
SUM(record_score) AS iam_score
|
||||||
|
FROM
|
||||||
|
srs_add_record AS a
|
||||||
|
GROUP BY
|
||||||
|
a.stu_year_id,
|
||||||
|
a.stu_no
|
||||||
|
) AS q1 ON q2.stu_year_id = q1.stu_year_id
|
||||||
|
AND q2.stu_no = q1.stu_no
|
||||||
|
WHERE
|
||||||
|
-- 条件:要么q1中不存在,要么分数不相等
|
||||||
|
q1.iam_score IS NULL
|
||||||
|
OR q2.iam_score != q1.iam_score;
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="listCheckAudit" parameterType="CheckIam" resultType="CphAuditDetails">
|
||||||
|
SELECT
|
||||||
|
a.*,b.iam_score,b.audit_status,c.stu_no,b.stu_year_id
|
||||||
|
FROM
|
||||||
|
cph_audit_details AS a
|
||||||
|
LEFT JOIN cph_iam AS b ON a.project_id = b.id
|
||||||
|
LEFT JOIN view_stu_info AS c ON b.to_add = c.stu_id
|
||||||
|
WHERE
|
||||||
|
a.status_code = 6
|
||||||
|
and c.stu_no = #{stuNo}
|
||||||
|
and b.stu_year_id = #{stuYearId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="ListCheckRecord" parameterType="CheckIam" resultType="SrsAddRecord">
|
||||||
|
select a.*,b.rule_name
|
||||||
|
from srs_add_record as a
|
||||||
|
left join cph_rules as b on a.rule_id = b.rule_id
|
||||||
|
where stu_no = #{stuNo} and stu_year_id = #{stuYearId};
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user