智慧保安后台管理-外网
Administrator
2022-06-15 a8bb2e8cac51925777e7f6255894e52bffa23a70
考试成绩同步修改
3 files modified
119 ■■■■■ changed files
src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java 66 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/securitypaper/controller/SecurityPaperController.java 45 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/securitypaper/service/impl/SecurityPaperServiceImpl.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
@@ -482,7 +482,7 @@
    /**
     * 考试成绩同步
     * 考试成绩同步(考试成绩为Null 的)
     * @param time
     * @param startScore
     * @param endScore
@@ -496,48 +496,32 @@
        if (examScoreList.size()>0) {
            //遍历计算成绩
            for (ExamScore examScore : examScoreList) {
                ExamAnswerRecord record = new ExamAnswerRecord();
                record.setScoreId(examScore.getId());
                List<ExamAnswerRecord> list = examAnswerRecordService.list(new QueryWrapper<>(record));
                if (list.size()>0){
                    int num = 0;
                    for (ExamAnswerRecord examAnswerRecord : list) {
                        num = num + examAnswerRecord.getAnswerScore();
                        examScore.setExamEndTime(examAnswerRecord.getAnswerTime());
                    }
                    examScore.setTheoryGrade(num);
                    examScore.setAllGrade(Math.round(num/2));
                    //设置状态
                    if (num >= 60) {
                        examScore.setQualified(2);
                    } else {
                        examScore.setQualified(1);
                    }
                    examScoreService.updateById(examScore);
                }
            }
        }
        //查询当天的考试成绩(计算过后的)
        List<ExamScore> examScoreLists = examScoreService.getExamScoreListByTime(time);
        if (examScoreLists.size()>0) {
            //遍历计算成绩
            for (ExamScore examScore : examScoreLists) {
                if (null!=examScore.getTheoryGrade()) {
                    if (examScore.getTheoryGrade() >= startScore && examScore.getTheoryGrade() <= endScore) {
                        //生成随机数,在60-79 之间
                        int score = (int) ((Math.random() * 20));
                        int sc = score + 60;
                        examScore.setTheoryGrade(sc);
                        //设置为合格
                        examScore.setQualified(2);
                        examScore.setAllGrade(examScore.getTheoryGrade() / 2);
                if (null==examScore.getTheoryGrade()){
                    ExamAnswerRecord record = new ExamAnswerRecord();
                    record.setScoreId(examScore.getId());
                    List<ExamAnswerRecord> list = examAnswerRecordService.list(new QueryWrapper<>(record));
                    if (list.size()>0){
                        int num = 2;
                        for (ExamAnswerRecord examAnswerRecord : list) {
                            num = num + examAnswerRecord.getAnswerScore();
                            examScore.setExamEndTime(examAnswerRecord.getAnswerTime());
                        }
                        examScore.setTheoryGrade(num);
                        examScore.setAllGrade(Math.round(num/2));
                        //设置状态
                        if (num >= 60) {
                            examScore.setQualified(2);
                        } else {
                            examScore.setQualified(1);
                        }
                        examScoreService.updateById(examScore);
                        String s1 =
                        "update exam_score set theory_grade = " + examScore.getTheoryGrade() +
                            ",all_grade = " + "'" + examScore.getAllGrade() + "'" +
                            ",qualified = " + "'" + examScore.getQualified() + "'" +
                            " " + "where id = " + "'" + examScore.getId() + "'";
                            "update exam_score set exam_id = " + examScore.getExamId() +
                                ",theory_grade = " + "'" + examScore.getTheoryGrade() + "'" +
                                ",all_grade = " + "'" + examScore.getAllGrade() + "'" +
                                ",exam_end_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:dd").format(examScore.getExamEndTime()) + "'" +
                                ",qualified = " + "'" + examScore.getQualified() + "'" +
                                " " + "where id = " + "'" + examScore.getId() + "'";
                        myAsyncService.FTP(s1);
                    }
                }
src/main/java/org/springblade/modules/securitypaper/controller/SecurityPaperController.java
@@ -1,12 +1,16 @@
package org.springblade.modules.securitypaper.controller;
import com.alibaba.excel.EasyExcel;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.apache.commons.codec.Charsets;
import org.springblade.common.excel.RowWriteHandler;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.securitypaper.entity.SecurityPaper;
import org.springblade.modules.securitypaper.excel.SecurityPaperExcel;
@@ -16,6 +20,12 @@
import org.springblade.modules.system.excel.SecurityImporter;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
 * @author zhongrj
@@ -101,4 +111,39 @@
        return R.success("操作成功");
    }
    /**
     * 导出模板
     */
    @GetMapping("export-template-security-paper")
    @ApiOperation(value = "导出模板")
    public void exportSecurity(HttpServletResponse response) throws IOException {
        List<SecurityPaperExcel> list = new ArrayList<>();
        SecurityPaperExcel securityExcel = new SecurityPaperExcel();
        securityExcel.setDeptId("xxx保安公司");
        securityExcel.setRealName("张三");
        securityExcel.setPhone("12345678901");
        securityExcel.setCardid("360XXX19XXXXXX****");
        securityExcel.setRegistered("江西省南昌市******");
        list.add(securityExcel);
        SecurityPaperExcel securityExcel1 = new SecurityPaperExcel();
        securityExcel1.setDeptId("xxx保安公司");
        securityExcel1.setRealName("李四");
        securityExcel1.setPhone("12345678901");
        securityExcel1.setCardid("360XXX19XXXXXX****");
        securityExcel1.setRegistered("江西省南昌市******");
        list.add(securityExcel1);
        String fileName = null;
        try {
            response.setContentType("application/vnd.ms-excel");
            response.setCharacterEncoding(org.apache.commons.codec.Charsets.UTF_8.name());
            fileName = URLEncoder.encode("保安员导入数据模板-制证" + DateUtil.time(), Charsets.UTF_8.name());
            response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
            //修改单元格格式为文本格式
            EasyExcel.write(response.getOutputStream(), SecurityExcel.class).sheet("保安员数据表").registerWriteHandler(new RowWriteHandler()).doWrite(list);
        } catch (Throwable var6) {
            throw var6;
        }
    }
}
src/main/java/org/springblade/modules/securitypaper/service/impl/SecurityPaperServiceImpl.java
@@ -56,14 +56,6 @@
            //设置部门id
            String deptIds = userDeptService.selectIn(user.getDeptId());
            if (null!=deptIds && !deptIds.equals("")) {
                if (null != deptId && !deptId.equals("")) {
                    //管理员不分单位导入
                    if (!deptId.equals(deptIds)) {
                        if(!deptId.equals("1123598813738675201")) {
                            throw new ServiceException("导入失败!不能导入不是本公司的保安员数据!");
                        }
                    }
                }
                user.setDeptId(deptIds);
            }else {
                //如果deptIds 为空,则说明还没有改公司