修复思想品德加分问题
This commit is contained in:
@@ -1,14 +1,18 @@
|
||||
package com.srs.web.controller.comprehensive;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.srs.common.annotation.RepeatSubmit;
|
||||
import com.srs.comprehensive.domain.CphMsg;
|
||||
import com.srs.comprehensive.domain.Dto.CphCancel;
|
||||
import com.srs.comprehensive.domain.Dto.CphResub;
|
||||
import com.srs.comprehensive.domain.SrsAddRecord;
|
||||
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.CphSearch;
|
||||
import com.srs.comprehensive.service.ICphMsgService;
|
||||
@@ -52,6 +56,29 @@ public class CphAuditDetailsController extends BaseController {
|
||||
@Autowired
|
||||
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")
|
||||
public AjaxResult cleanCancelRecord(){
|
||||
|
||||
@@ -64,6 +64,9 @@ public class CphAuditDetails extends BaseEntity
|
||||
private String className;
|
||||
private String stuNo;
|
||||
private Long gradeId;
|
||||
public BigDecimal iamScore;
|
||||
public String auditStatus;
|
||||
public Long stuYearId;
|
||||
|
||||
|
||||
public String getDeptName() {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.srs.comprehensive.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
@@ -86,6 +87,9 @@ public class SrsAddRecord extends BaseEntity {
|
||||
*/
|
||||
private String delFlag;
|
||||
|
||||
@TableField(exist = false)
|
||||
public String ruleName;
|
||||
|
||||
// public void setAddPointsPerson(Long 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 com.srs.comprehensive.domain.CphAuditDetails;
|
||||
import com.srs.comprehensive.domain.SrsAddRecord;
|
||||
import com.srs.comprehensive.domain.Vo.CheckIam;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
@@ -85,4 +86,11 @@ public interface CphAuditDetailsMapper
|
||||
|
||||
//查询审核状态不对的加分记录
|
||||
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.Dto.CphCancel;
|
||||
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.CphSearch;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
/**
|
||||
* 审核明细Service接口
|
||||
@@ -18,6 +21,14 @@ import com.srs.comprehensive.domain.Vo.CphSearch;
|
||||
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 int reSub(CphResub param);
|
||||
|
||||
@@ -14,10 +14,12 @@ import com.srs.common.utils.PageUtils;
|
||||
import com.srs.comprehensive.domain.*;
|
||||
import com.srs.comprehensive.domain.Dto.CphCancel;
|
||||
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.CphSearch;
|
||||
import com.srs.comprehensive.mapper.CphIamMapper;
|
||||
import com.srs.comprehensive.mapper.SrsAddRecordMapper;
|
||||
import com.srs.comprehensive.mapper.ViewStuInfoMapper;
|
||||
import com.srs.comprehensive.service.*;
|
||||
import com.srs.system.domain.SysPost;
|
||||
import com.srs.system.service.ISysPostService;
|
||||
@@ -437,8 +439,8 @@ public class CphAuditDetailsServiceImpl implements ICphAuditDetailsService {
|
||||
temp.setId(cphAuditDetails.getProjectId());
|
||||
temp.setAuditStatus(cphAuditDetails.getStatusCode().toString());
|
||||
cphIamService.updateCphIam(temp);
|
||||
Long statusCode=cphAuditDetailsMapper.selectCphAuditDetailsById(cphAuditDetails.getId()).getStatusCode();
|
||||
if (statusCode == 6L)//判断审核状态是否完成
|
||||
// Long statusCode=cphAuditDetailsMapper.selectCphAuditDetailsById(cphAuditDetails.getId()).getStatusCode();
|
||||
if (cphAuditDetails.getStatusCode() == 6L)//判断审核状态是否完成
|
||||
{
|
||||
SrsStudent stu = _stuService.selectSrsStudentByStuId(cphAuditDetails.getSubmitterId());
|
||||
SrsAddRecord srsAddRecord = new SrsAddRecord();//加分记录表
|
||||
@@ -575,6 +577,85 @@ public class CphAuditDetailsServiceImpl implements ICphAuditDetailsService {
|
||||
cphAuditDetailsS.setStatusCode(cphAuditDetails.getStatusCode());
|
||||
int i = cphAuditDetailsMapper.updateCphAuditDetails(cphAuditDetailsS);
|
||||
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
|
||||
where b.audit_status not in (6,12)
|
||||
</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>
|
||||
|
||||
Reference in New Issue
Block a user