智慧保安后台管理-外网
Administrator
2021-08-24 c9424db1c23fcddd6f4eabdb5e3ef51d2c208613
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;
@@ -18,15 +19,17 @@
import org.springblade.modules.exam.service.ExamScoreService;
import org.springblade.modules.exam.util.SecurityPaperUtil;
import org.springblade.modules.exam.vo.ExamScoreVO;
import org.springblade.modules.system.entity.Role;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IRoleService;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.vo.UserVO;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.text.SimpleDateFormat;
import java.util.*;
/**
 * @author zhongrj
@@ -43,6 +46,8 @@
   private final IUserService userService;
   private final ExamPaperService examPaperService;
   private final IRoleService roleService;
   /**
    * 自定义分页
@@ -71,7 +76,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);
   }
@@ -81,6 +95,7 @@
    */
   @PostMapping("/saveExamScore")
   public R saveExamScore(@RequestBody ExamScoreVO examScore) {
      return R.status(examScoreService.saveExamScore(examScore));
   }
@@ -102,6 +117,8 @@
   public R updateExamScore(@RequestBody ExamScore examScore){
      if (null!=examScore.getLearnGrade() && null!=examScore.getTheoryGrade()){
         ExamScore examScore1 = examScoreService.getById(examScore.getId());
         //查询当前保安信息
         UserVO user = userService.getUserAgeById(Long.parseLong(examScore1.getUserId()));
         if (examScore.getTheoryGrade()>=60 && examScore.getLearnGrade()>=60){
            //合格
            examScore.setQualified(0);
@@ -109,8 +126,6 @@
            ExamPaper paper = examPaperService.getById(examScore.getExamId());
            if (paper.getExamType()==1) {
               //去生成保安证编号
               //查询当前保安信息
               User user = userService.getById(examScore1.getUserId());
               String pre = SecurityPaperUtil.getSecurityPaper();
               //查询当前年份已有的保安证编号
               int count = userService.getSecurityPaperCount(pre);
@@ -123,18 +138,48 @@
                  result = pre + (decimalFormat.format(count++));
               }
               user.setSecuritynumber(result);
               //发证日期
               user.setPaperTime(new Date());
               //修改为持证保安
               user.setHold("1");
               //分配保安角色
               Role role = new Role();
               role.setRoleAlias("保安");
               Role oneRole = roleService.getOne(Condition.getQueryWrapper(role));
               user.setRoleId(oneRole.getId().toString());
               //更新保安数据
               userService.updateById(user);
               String s1 =
                  "update blade_user set role_id = " + "'" +  user.getRoleId() + "'" +
                     ",hold = " + "'" + user.getHold() + "'" +
                     ",securitynumber = " + "'" + user.getSecuritynumber() + "'" +
                     ",paper_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(user.getPaperTime()) + "'" +
                     " " +"where id = " + "'" + user.getId() + "'";
               FtpUtil.sqlFileUpload(s1);
            }
         }else {
            //不合格
            examScore.setQualified(1);
         }
         //总成绩
         examScore.setAllGrade(Math.round((examScore.getLearnGrade()+examScore1.getTheoryGrade())/2));
         if (user.getAge()<=50) {
            examScore.setAllGrade(Math.round((examScore.getLearnGrade() + examScore1.getTheoryGrade()) / 2));
         }
         if (user.getAge()>50) {
            examScore.setAllGrade(Integer.parseInt(String.valueOf(Math.round(examScore1.getTheoryGrade()*0.3)))
               + Integer.parseInt(String.valueOf(Math.round(examScore1.getLearnGrade()*0.7))));
         }
      }
      //内网修改
      //arg.test01(arg.url+"/examScore/update",examScore);
      //内网同步
      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));
   }
@@ -154,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 考试成绩信息对象