Administrator
2021-08-23 feba1c5df4ab7ac0313b91d9cb552a12997abfc6
考试,培训考试,成绩数据同步
8 files modified
227 ■■■■■ changed files
src/main/java/org/springblade/common/constant/FtpConstant.java 16 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/FTP/FtpUtil.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/controller/ApplyController.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java 17 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java 39 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java 42 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java 84 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java 25 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/common/constant/FtpConstant.java
@@ -8,22 +8,22 @@
    /**
     * sql connect
     */
//    String sql_connect_dev = "jdbc:mysql://223.82.109.183:2083/zhbaw";
    String sql_connect_dev = "jdbc:mysql://223.82.109.183:2083/zhbaw";
    /**
     * sql connect
     */
    String sql_connect_dev = "jdbc:mysql://localhost:2083/zhbaw";
//    String sql_connect_dev = "jdbc:mysql://localhost:2083/zhbaw";
    /**
     * ftp服务器IP地址
     */
//    String ftpHost_dev = "192.168.0.105";
    String ftpHost_dev = "192.168.0.105";
    /**
     * ftp服务器IP地址
     */
    String ftpHost_dev = "172.19.1.30";
//    String ftpHost_dev = "172.19.1.30";
    /**
     * ftp服务器端口
@@ -44,12 +44,12 @@
    /**
     * ftp服务器路径
     */
    String ftpPath = "yly/anbao/";
//    String ftpPath = "anbao/";
//    String ftpPath = "yly/anbao/";
    String ftpPath = "anbao/";
    /**
     * 本地路径
     */
    String localPath = "/home/zhongsong/anbao/";
//    String localPath = "D:\\anbao\\";
//    String localPath = "/home/zhongsong/anbao/";
    String localPath = "D:\\anbao\\";
}
src/main/java/org/springblade/modules/FTP/FtpUtil.java
@@ -9,7 +9,9 @@
import java.io.*;
import java.net.SocketException;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import static org.springblade.common.constant.FtpConstant.*;
import static org.springblade.common.constant.FtpConstant.ftpPassword;
src/main/java/org/springblade/modules/apply/controller/ApplyController.java
@@ -634,7 +634,7 @@
                    applyService.updateById(apply);
                    String s1 =
                        "update sys_apply set exam_id = " + apply.getExamId() + "candidate_no = " + "'" + apply.getCandidateNo() + "'" +
                        "update sys_apply set exam_id = " + apply.getExamId() + ",candidate_no = " + "'" + apply.getCandidateNo() + "'" +
                            " " +"where id = " + "'" + apply.getId() + "'";
                    FtpUtil.sqlFileUpload(s1);
                });
src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java
@@ -26,6 +26,7 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.apply.entity.Apply;
import org.springblade.modules.exam.entity.ExamPaper;
import org.springblade.modules.exam.entity.ExamSubjectChoices;
@@ -224,6 +225,12 @@
            examPaper.setAuditTime(new Date());
            //修改考试审核状态
            examPaperService.updateById(examPaper);
            String s1 =
                "update ksxt_exam set audit_status = " + "'" + examPaper.getAuditStatus()+ "'"
                    + ",audit_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examPaper.getAuditTime())+ "'"
                    + " " +"where id = " + "'" + examPaper.getId() + "'";
            FtpUtil.sqlFileUpload(s1);
            //查询当前考试已报名的人员培训报名数据集合
            List<TrainingRegistration> trainingRegistrations = examPaperService.getTrainList(examPaper.getId());
            if (trainingRegistrations.size()>0) {
@@ -232,6 +239,10 @@
                    trainingRegistration.setCandidateNo(getCandidateNo(examPaper));
                    //修改培训报名信息
                    trainingRegistrationService.updateById(trainingRegistration);
                    String s2 =
                        "update sys_training_registration set candidate_no = " + "'" + trainingRegistration.getCandidateNo()+ "'"
                            + " " +"where id = " + "'" + trainingRegistration.getId() + "'";
                    FtpUtil.sqlFileUpload(s2);
                });
            }
            return R.status(true);
@@ -239,6 +250,12 @@
            examPaper.setAuditTime(new Date());
            //修改考试审核状态
            examPaperService.updateById(examPaper);
            String s3 =
                "update ksxt_exam set audit_status = " + "'" + examPaper.getAuditStatus()+ "'"
                    + ",audit_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examPaper.getAuditTime())+ "'"
                    + " " +"where id = " + "'" + examPaper.getId() + "'";
            FtpUtil.sqlFileUpload(s3);
            return R.status(true);
        }
    }
src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
@@ -10,6 +10,7 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.exam.entity.ExamPaper;
import org.springblade.modules.exam.entity.ExamScore;
import org.springblade.modules.exam.excel.ExamScoreExcel;
@@ -27,7 +28,9 @@
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
@@ -76,7 +79,16 @@
    @PostMapping("/save")
    @ApiOperation(value = "新增", notes = "传入examScore")
    public R save(@RequestBody ExamScore examScore) {
        return R.status(examScoreService.save(examScore));
        boolean save = examScoreService.save(examScore);
        //内网同步
        Long sid = examScore.getId();
        String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examScore.getExamTime());
        String s = "insert into exam_score(id,exam_time) " +
            "values(" + "'" + sid + "'" + "," + "'" +
            format + "'" + "," + "'" + ")";
        FtpUtil.sqlFileUpload(s);
        //返回
        return R.status(save);
    }
@@ -86,6 +98,7 @@
     */
    @PostMapping("/saveExamScore")
    public R saveExamScore(@RequestBody ExamScoreVO examScore) {
        return R.status(examScoreService.saveExamScore(examScore));
    }
@@ -137,6 +150,13 @@
                    user.setRoleId(oneRole.getId().toString());
                    //更新保安数据
                    userService.updateById(user);
                    String s1 =
                        "update blade_user set role_id = " + "'" +  user.getRoleId() + "'" +
                            ",hold = " + "'" + user.getHold() + "'" +
                            ",securitynumber = " + "'" + user.getSecuritynumber() + "'" +
                            " " +"where id = " + "'" + user.getId() + "'";
                    FtpUtil.sqlFileUpload(s1);
                }
            }else {
                //不合格
@@ -151,6 +171,15 @@
                    + Integer.parseInt(String.valueOf(Math.round(examScore1.getLearnGrade()*0.7))));
            }
        }
        //内网同步
        String s1 =
            "update exam_score set learn_grade = " + "'" + examScore.getLearnGrade() + "'" +
                ",all_grade = " + "'" + examScore.getAllGrade() + "'" +
                ",qualified = " + "'" + examScore.getQualified() + "'" +
                " " +"where id = " + "'" + examScore.getId() + "'";
        FtpUtil.sqlFileUpload(s1);
        //本地修改
        return R.status(examScoreService.updateById(examScore));
    }
@@ -170,9 +199,17 @@
     */
    @PostMapping("/remove")
    public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
        List<String> list = Arrays.asList(ids.split(","));
        list.forEach(id ->{
            //内网同步
            String s1 = "delete from exam_score where id = " + "'" + id + "'";
            FtpUtil.sqlFileUpload(s1);
        });
        return R.status(examScoreService.removeByIds(Func.toLongList(ids)));
    }
    /**
     * 详情
     * @param examScore 考试成绩信息对象
src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
@@ -6,6 +6,7 @@
import lombok.AllArgsConstructor;
import org.springblade.common.utils.arg;
import org.springblade.core.mp.support.Condition;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.apply.entity.Apply;
import org.springblade.modules.apply.service.ApplyService;
import org.springblade.modules.exam.entity.ExamExaminationSubject;
@@ -31,6 +32,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -155,6 +157,14 @@
                //修改为已考试
                apply1.setIsExam(2);
                applyService.updateById(apply1);
                //数据同步
                String s =
                    "update sys_apply set is_exam = " + apply1.getIsExam() + " " +"where id = " + "'" + apply1.getId() + "';" +
                        "update blade_user set is_apply = " + user.getIsApply() + " " +"where id = " + "'" + user.getId() + "'";
                FtpUtil.sqlFileUpload(s);
            }
            //模拟考试
            if(paper.getExamType()==2){
@@ -170,6 +180,12 @@
                //修改为已考试
                trainingRegistration1.setIsExam(2);
                trainingRegistrationService.updateById(trainingRegistration1);
                //数据同步
                String s =
                    "update sys_training_registration set is_exam = " + trainingRegistration1.getIsExam() + " " +"where id = " + "'" + trainingRegistration1.getId() + "';" +
                        "update blade_user set is_apply = " + user.getIsApply() + " " +"where id = " + "'" + user.getId() + "'";
                FtpUtil.sqlFileUpload(s);
            }
            //设置考试ID
@@ -191,7 +207,15 @@
            }
            //修改成绩数据
            int i = baseMapper.updateById(examScore);
            //修改考试状态
            String s1 =
                "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() + "'";
            FtpUtil.sqlFileUpload(s1);
            if (i>0){
                //返回结果
@@ -226,7 +250,6 @@
                            //正式考试通过生成保安证编号
                            if (examPaper.getExamType()==1) {
                                //去生成保安证编号
                                String pre = SecurityPaperUtil.getSecurityPaper();
                                //查询当前年份已有的保安证编号
                                int count = userService.getSecurityPaperCount(pre);
@@ -248,6 +271,13 @@
                                user.setRoleId(oneRole.getId().toString());
                                //更新保安数据
                                userService.updateById(user);
                                String s1 =
                                    "update blade_user set role_id = " + "'" +  user.getRoleId() + "'" +
                                        ",hold = " + "'" + user.getHold() + "'" +
                                        ",securitynumber = " + "'" + user.getSecuritynumber() + "'" +
                                        " " +"where id = " + "'" + user.getId() + "'";
                                FtpUtil.sqlFileUpload(s1);
                            }
                        } else {
                            //不合格
@@ -261,6 +291,14 @@
                            examScore.setAllGrade(Integer.parseInt(String.valueOf(Math.round(examScore.getTheoryGrade()*0.3)))
                                + Integer.parseInt(String.valueOf(Math.round(examScoreExcel.getLearnGrade()*0.7))));
                        }
                        //内网同步
                        String s1 =
                            "update exam_score set learn_grade = " + "'" + examScore.getLearnGrade() + "'" +
                                ",all_grade = " + "'" + examScore.getAllGrade() + "'" +
                                ",qualified = " + "'" + examScore.getQualified() + "'" +
                                " " +"where id = " + "'" + examScore.getId() + "'";
                        FtpUtil.sqlFileUpload(s1);
                        //更新成绩数据
                        baseMapper.updateById(examScore);
                    }
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
@@ -16,6 +16,7 @@
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.FTP.FtpUtil;
import org.springblade.modules.apply.entity.Apply;
import org.springblade.modules.apply.excel.ApplyImporter;
import org.springblade.modules.apply.excel.ApplyInfoExcel;
@@ -90,6 +91,10 @@
            user1.setId(Long.parseLong(trainingRegistration.getUserId()));
            user1.setIsTrain(1);
            userService.updateById(user1);
            //内网数据同步
            saveTrainingRegistration(trainingRegistration,user1);
            return R.data(200,"报名成功");
        }else {
            if (1==user.getIsTrain()){
@@ -108,10 +113,31 @@
                user1.setId(Long.parseLong(trainingRegistration.getUserId()));
                user1.setIsTrain(1);
                userService.updateById(user1);
                //内网数据同步
                saveTrainingRegistration(trainingRegistration,user1);
                return R.data(200,"报名成功");
            }
        }
        return R.data(202,"报名失败");
    }
    /**
     * 报名
     */
    private void saveTrainingRegistration(TrainingRegistration trainingRegistration,User user1){
        String formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
        Long id = trainingRegistration.getId();
        String s = "insert into sys_training_registration(id,training_unit_id,training_time,cancel,user_id,is_exam) " +
            "values(" + "'" + id + "'"
            + "," + "'" + trainingRegistration.getTrainingUnitId() +"'"
            + "," + "'" + formatStr +"'"
            + "," + "'" + trainingRegistration.getCancel() + "'"
            + "," + "'" + trainingRegistration.getUserId() + "'"
            + "," +"'" + trainingRegistration.getIsExam() + "'" + ");" +
            "update blade_user set is_train = " + user1.getIsTrain() + " " +"where id = " + "'" + user1.getId() + "'";
        FtpUtil.sqlFileUpload(s);
    }
@@ -129,6 +155,10 @@
            //修改保安报名状态
            user.setIsTrain(2);
            userService.updateById(user);
            //数据同步
            cancelTrainingRegistrationSync(trainingRegistration,user);
            if (status){
                return R.data(200,"取消报名成功");
            }
@@ -142,12 +172,27 @@
                if (status){
                    return R.data(200,"取消报名成功");
                }
                //数据同步
                cancelTrainingRegistrationSync(trainingRegistration,user);
            }else {
                return R.data(201,"尚未报名");
            }
        }
        return R.data(202,"取消报名失败");
    }
    /**
     * 取消报名同步
     */
    private void cancelTrainingRegistrationSync(TrainingRegistration trainingRegistration,User user){
        String s =
            "update sys_training_registration set cancel = " + trainingRegistration.getCancel() + " " +"where id = " + "'" + trainingRegistration.getId() + "';" +
                "update blade_user set is_train = " + user.getIsTrain() + " " +"where id = " + "'" + user.getId() + "'";
        FtpUtil.sqlFileUpload(s);
    }
    /**
@@ -172,6 +217,9 @@
                //修改保安报名状态
                user.setIsTrain(1);
                userService.updateById(user);
                //数据同步
                saveTrainingRegistration(trainingRegistration1,user);
            }else {
                if (user.getIsTrain()!=1) {
                    TrainingRegistration trainingRegistration1 = new TrainingRegistration();
@@ -185,6 +233,9 @@
                    //修改保安报名状态
                    user.setIsTrain(1);
                    userService.updateById(user);
                    //数据同步
                    saveTrainingRegistration(trainingRegistration1,user);
                }
            }
        });
@@ -428,12 +479,28 @@
                examPaper.setAuditStatus(3);
                //生成考试
                examPaperService.save(examPaper);
                Long sid = examPaper.getId();
                String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examPaper.getStartTime());
                String s = "insert into ksxt_exam(id,exam_name,exam_type,start_time,audit_status) " +
                    "values(" + "'" + sid + "'" +
                    "," + "'" + examPaper.getExamName() + "'" +
                    "," + "'" + examPaper.getExamType() +"'" +
                    "," + "'" + format +"'" +
                    ","  +"'" + examPaper.getAuditStatus() + "'" + ")";
                FtpUtil.sqlFileUpload(s);
                //修改报名信息
                list.forEach(id ->{
                    TrainingRegistration trainingRegistration = new TrainingRegistration();
                    trainingRegistration.setId(Long.parseLong(id));
                    trainingRegistration.setTrainExamId(examPaper.getId().toString());
                    trainingRegistrationService.updateById(trainingRegistration);
                    String s1 =
                        "update sys_training_registration set train_exam_id = " + "'" + trainingRegistration.getTrainExamId()+ "'"
                            + " " +"where id = " + "'" + trainingRegistration.getId() + "'";
                    FtpUtil.sqlFileUpload(s1);
                });
            }
@@ -458,12 +525,29 @@
                examPaper.setAuditStatus(3);
                //生成考试
                examPaperService.save(examPaper);
                Long sid = examPaper.getId();
                String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examPaper.getStartTime());
                String s = "insert into ksxt_exam(id,exam_name,exam_type,start_time,audit_status) " +
                    "values(" + "'" + sid + "'" +
                    "," + "'" + examPaper.getExamName() + "'" +
                    "," + "'" + examPaper.getExamType() +"'" +
                    "," + "'" + format +"'" +
                    ","  +"'" + examPaper.getAuditStatus() + "'" + ")";
                FtpUtil.sqlFileUpload(s);
                //修改报名信息
                applyIds.forEach(id ->{
                    TrainingRegistration trainingRegistration = new TrainingRegistration();
                    trainingRegistration.setId(id);
                    trainingRegistration.setTrainExamId(examPaper.getId().toString());
                    trainingRegistrationService.updateById(trainingRegistration);
                    String s1 =
                        "update sys_training_registration set train_exam_id = " + "'" + trainingRegistration.getTrainExamId()+ "'"
                            + " " +"where id = " + "'" + trainingRegistration.getId() + "'";
                    FtpUtil.sqlFileUpload(s1);
                });
            }
        }
src/main/java/org/springblade/modules/training/service/impl/TrainingRegistrationServiceImpl.java
@@ -6,6 +6,7 @@
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.apply.entity.Apply;
import org.springblade.modules.apply.excel.ApplyInfoExcel;
import org.springblade.modules.system.entity.User;
@@ -20,6 +21,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@@ -93,6 +95,9 @@
                        //修改保安报名状态
                        user.setIsTrain(1);
                        userService.updateById(user);
                        //数据同步
                        saveTrainingRegistration(trainingRegistration,user);
                    }else {
                        if (user.getIsTrain()!=1) {
                            trainingRegistration.setIsExam(1);
@@ -103,6 +108,9 @@
                            //修改保安报名状态
                            user.setIsTrain(1);
                            userService.updateById(user);
                            //数据同步
                            saveTrainingRegistration(trainingRegistration,user);
                        }
                    }
                }
@@ -110,6 +118,23 @@
        }
    }
    /**
     * 报名
     */
    private void saveTrainingRegistration(TrainingRegistration trainingRegistration,User user1){
        String formatStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
        Long id = trainingRegistration.getId();
        String s = "insert into sys_training_registration(id,training_unit_id,training_time,cancel,user_id,is_exam) " +
            "values(" + "'" + id + "'"
            + "," + "'" + trainingRegistration.getTrainingUnitId() +"'"
            + "," + "'" + formatStr +"'"
            + "," + "'" + trainingRegistration.getCancel() + "'"
            + "," + "'" + trainingRegistration.getUserId() + "'"
            + "," +"'" + trainingRegistration.getIsExam() + "'" + ");" +
            "update blade_user set is_train = " + user1.getIsTrain() + " " +"where id = " + "'" + user1.getId() + "'";
        FtpUtil.sqlFileUpload(s);
    }
    /**
     * 查询准考证前缀相同的数量