智慧保安后台管理-外网
Administrator
2021-11-27 dca2532f01dac86be25ad09fa9ee8035bccdca6a
1.部门tree修改
2.用户查询修改
3.培训报名年龄拦截
7 files modified
167 ■■■■ changed files
src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java 4 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml 18 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/UserMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml 64 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java 74 ●●●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/resource/endpoint/OssEndpoint.java
@@ -189,7 +189,9 @@
    @SneakyThrows
    @PostMapping("/put-file-user-avatar")
    public R putFileUserAvatar(@RequestParam MultipartFile file) {
        double size = file.getSize()/1024;
        long sizeL = file.getSize();
        double size = sizeL/1024;
        if (size<=30){
            throw new ServiceException("图片大小不能低于30KB");
        }
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -200,6 +200,24 @@
        and dept.id!= 1426355050199945218
        <if test="jurisdiction!=null and jurisdiction!='' and jurisdiction!='1372091709474910209'">
            and (sj.id = #{jurisdiction} or sj.parent_id = #{jurisdiction})
            union
                    (
                    SELECT
                    id,
                    parent_id,
                    dept_name AS title,
                    id AS "value",
                    id AS "key",
                    0 AS "has_children"
                    FROM
                    blade_dept
                    where is_deleted = 0
                    and
                    (id = 1413470343230877697
                    or id = 1425366663452196865
                    or id = 1420222768149966850
                    or id = 1426354978959691778)
                    )
        </if>
    </select>
src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -44,8 +44,6 @@
     *
     * @param page
     * @param user
     * @param deptIdList
     * @param tenantId
     * @return
     */
    List<UserVO> selectUserPages(IPage<UserVO> page, @Param("user") UserVO user);
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -100,7 +100,25 @@
            and bu.hold = #{user.hold}
        </if>
        <if test="user.deptId!=null and user.deptId != ''">
            and (bd.id = #{user.deptId} or bd.parent_id = #{user.deptId})
            and bd.id in
            (
                select id from blade_dept where id = #{user.deptId}
                union
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{user.deptId} ) t2
                ) t3
                WHERE
                ischild != 0
            )
        </if>
        <if test="user.roleId!=null and user.roleId != ''">
            and bu.role_id = #{user.roleId}
@@ -166,7 +184,25 @@
            and real_name like concat(concat('%', #{user.realName}),'%')
        </if>
        <if test="user.deptId!=null and user.deptId != ''">
            and (bd.id = #{user.deptId} or bd.parent_id = #{user.deptId})
            and bd.id in
            (
                select id from blade_dept where id = #{user.deptId}
                union
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{user.deptId} ) t2
                ) t3
                WHERE
                ischild != 0
            )
        </if>
        <if test="user.userType!=null and user.userType != ''">
            and user_type = #{user.userType}
@@ -377,13 +413,9 @@
            where 1 = 1
            <if test="user.examType==1">
                and a.isApply != 1
                and a.age&gt;=18
                and a.age&lt;=60
            </if>
            <if test="user.examType==2">
                and a.isTrain != 1
                and a.age&gt;=18
                and a.age&lt;=60
            </if>
        )
    </select>
@@ -698,7 +730,25 @@
            and bu.hold = #{user.hold}
        </if>
        <if test="user.deptId!=null and user.deptId != ''">
            and (bd.id = #{user.deptId} or bd.parent_id = #{user.deptId})
            and bd.id in
            (
                select id from blade_dept where id = #{user.deptId}
                union
                SELECT
                id
                FROM
                (
                SELECT
                t1.id,t1.parent_id,t1.dept_name,
                IF
                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
                FROM
                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
                ( SELECT @pids := #{user.deptId} ) t2
                ) t3
                WHERE
                ischild != 0
            )
        </if>
        <if test="user.roleId!=null and user.roleId != ''">
            and bu.role_id = #{user.roleId}
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -187,6 +187,7 @@
    @Override
    public IPage<UserVO> selectUserPages(IPage<UserVO> page, UserVO user) {
        List<UserVO> userVOS = baseMapper.selectUserPages(page, user);
        //机构名称拼接
        userVOS.forEach(userVO -> {
            if (null != userVO.getCardid() && userVO.getCardid() != "") {
                userVO.setAge(AgeUtil.idCardToAge(userVO.getCardid()));
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
@@ -9,38 +9,32 @@
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
import org.springblade.common.utils.arg;
import org.apache.commons.lang3.StringUtils;
import org.springblade.common.constant.AgeUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
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;
import org.springblade.modules.apply.vo.ApplyVO;
import org.springblade.modules.exam.entity.ExamPaper;
import org.springblade.modules.exam.entity.ExamScore;
import org.springblade.modules.exam.excel.ExamScoreExcel;
import org.springblade.modules.exam.service.ExamPaperService;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.training.entity.TrainExam;
import org.springblade.modules.training.entity.TrainingRegistration;
import org.springblade.modules.training.excel.TrainingRegistrationExcel;
import org.springblade.modules.training.excel.TrainingRegistrationImporter;
import org.springblade.modules.training.service.TrainExamService;
import org.springblade.modules.training.service.TrainingRegistrationService;
import org.springblade.modules.training.vo.TrainingRegistrationVo;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
/**
 * @author zhongrj
@@ -284,28 +278,17 @@
    @PostMapping("/batchTrain")
    public R batchApply(@RequestBody TrainingRegistrationVo trainingRegistration){
        List<String> list = Arrays.asList(trainingRegistration.getUserIds().split(","));
        AtomicInteger count  = new AtomicInteger();
        //创建年龄部分对象集合
        List<String> errorList = new ArrayList<>();
        //遍历
        list.forEach(userId ->{
            User user = userService.getById(userId);
            //未报名的新增,已报名的不做处理
            if (null==user.getIsTrain()) {
                TrainingRegistration trainingRegistration1 = new TrainingRegistration();
                trainingRegistration1.setCancel(1);
                //默认为未考试状态
                trainingRegistration1.setIsExam(1);
                //未提交考试审核
                trainingRegistration1.setAuditStatus(4);
                trainingRegistration1.setTrainingTime(new Date());
                trainingRegistration1.setUserId(userId);
                trainingRegistration1.setTrainingUnitId(trainingRegistration.getTrainingUnitId());
                trainingRegistrationService.save(trainingRegistration1);
                //修改保安报名状态
                user.setIsTrain(1);
                userService.updateById(user);
                //数据同步
                saveTrainingRegistration(trainingRegistration1,user);
            }else {
                if (user.getIsTrain()!=1) {
            //判断年龄
            Integer age = AgeUtil.idCardToAge(user.getCardid());
            if (age>=18 && age<=60) {
                //未报名的新增,已报名的不做处理
                if (null == user.getIsTrain()) {
                    TrainingRegistration trainingRegistration1 = new TrainingRegistration();
                    trainingRegistration1.setCancel(1);
                    //默认为未考试状态
@@ -321,10 +304,39 @@
                    userService.updateById(user);
                    //数据同步
                    saveTrainingRegistration(trainingRegistration1,user);
                    saveTrainingRegistration(trainingRegistration1, user);
                } else {
                    if (user.getIsTrain() != 1) {
                        TrainingRegistration trainingRegistration1 = new TrainingRegistration();
                        trainingRegistration1.setCancel(1);
                        //默认为未考试状态
                        trainingRegistration1.setIsExam(1);
                        //未提交考试审核
                        trainingRegistration1.setAuditStatus(4);
                        trainingRegistration1.setTrainingTime(new Date());
                        trainingRegistration1.setUserId(userId);
                        trainingRegistration1.setTrainingUnitId(trainingRegistration.getTrainingUnitId());
                        trainingRegistrationService.save(trainingRegistration1);
                        //修改保安报名状态
                        user.setIsTrain(1);
                        userService.updateById(user);
                        //数据同步
                        saveTrainingRegistration(trainingRegistration1, user);
                    }
                }
            }else {
                //count ++
                count.getAndIncrement();
                //放入集合
                errorList.add(user.getCardid());
            }
        });
        //如果存在年龄不符的,则抛出异常
        if (count.get()>0){
            String errorAccount = StringUtils.join(errorList, "\\\n");
            throw new ServiceException("保安员:[" + errorAccount + "]报名失败!年龄不符,报名年龄为[18-60]周岁!");
        }
        return R.data(200,"报名成功");
    }
src/main/resources/application-test.yml
@@ -13,7 +13,7 @@
    #  commandTimeout: 5000
  datasource:
    # MySql
    url: jdbc:mysql://223.82.109.183:2083/zhbaw?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
    url: jdbc:mysql://223.82.109.183:2083/zhbaw-test?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
    username: root
    password: zhba0728
@@ -39,7 +39,7 @@
#ftp 设置
ftp:
  sqlConnect: jdbc:mysql://223.82.109.183:2083/zhbaw?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
  sqlConnect: jdbc:mysql://223.82.109.183:2083/zhbaw-test?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
  ftpHost: 192.168.0.199
  ftpPort: 21
  ftpUserName: arsn