智慧保安后台管理-外网-验收版本
Administrator
2021-08-10 d5041a59d46d5c84f9606fac4bdd857784ea32c5
考试报名,取消报名接口修改
8 files modified
226 ■■■■ changed files
src/main/java/org/springblade/modules/apply/controller/ApplyController.java 120 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/vo/ApplyVO.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/UserController.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/entity/User.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/UserMapper.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml 40 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/IUserService.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java 25 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/apply/controller/ApplyController.java
@@ -25,6 +25,8 @@
import org.springblade.modules.apply.vo.ApplyVO;
import org.springblade.modules.exam.entity.ExamPaper;
import org.springblade.modules.exam.service.ExamPaperService;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -46,6 +48,8 @@
    private final ApplyService applyService;
    private final ExamPaperService examPaperService;
    private final IUserService userService;
    /**
     * 自定义分页
@@ -95,25 +99,56 @@
    public R submit(@RequestBody Apply apply) throws Exception {
        if (null==apply.getId()){
            //查询人员是否已报名
            Integer isApply = applyService.getIsApply(apply);
            if (null!=isApply){
                return R.data(201,"已报名,不能重复报名");
            User user = userService.getById(apply.getUserId());
            if (null==user.getIsApply()){
                //默认通过
                apply.setApplyStatus(2);
                //默认为未考试状态
                apply.setIsExam(1);
                apply.setApplyTime(new Date());
                //修改保安报名状态
                User user1 = new User();
                user1.setId(apply.getUserId());
                user1.setIsApply(1);
                userService.updateById(user1);
                return R.data(200,"报名成功");
            }else {
                if (1==user.getIsApply()){
                    return R.data(201,"已报名,不能重复报名");
                }
                if (2==user.getIsApply()){
                    //默认通过
                    apply.setApplyStatus(2);
                    //默认为未考试状态
                    apply.setIsExam(1);
                    apply.setApplyTime(new Date());
                    //修改保安报名状态
                    User user1 = new User();
                    user1.setId(apply.getUserId());
                    user1.setIsApply(1);
                    userService.updateById(user1);
                    return R.data(200,"报名成功");
                }
            }
            //去生成准考证号码
//            apply.setCandidateNo(getCandidateNo(apply));
            //去生成考试编号
//            apply.setApplyCode(getApplyCode(apply));
            //默认通过
            apply.setApplyStatus(2);
            //默认为未考试状态
            apply.setIsExam(1);
            apply.setApplyTime(new Date());
        }else {
            //修改保安报名状态
            User user = new User();
            user.setId(apply.getUserId());
            user.setIsApply(2);
            userService.updateById(user);
        }
        apply.setApplyStatus(4);
        boolean status = applyService.saveOrUpdate(apply);
        if (status){
            //内网新增
//            arg.test01(arg.url+"/apply/save",apply);
            return R.data(200,"报名成功");
            return R.data(200,"取消报名成功");
        }
//        //内网修改
//        if(null!=apply.getId()){
@@ -338,18 +373,73 @@
    @PostMapping("/cancelApply")
    public R cancelApply(@RequestBody Apply apply){
        //查询人员是否已报名
        List<Apply> applyList = applyService.getSecurityApplyInfo(apply);
        if (applyList.size()>0){
            Apply apply1 = applyList.get(0);
            apply1.setApplyStatus(4);
            boolean status = applyService.updateById(apply1);
        User user = userService.getById(apply.getUserId());
        if(null==user.getIsApply()){
            apply.setApplyStatus(4);
            boolean status = applyService.updateById(apply);
            //修改保安报名状态
            user.setIsApply(2);
            userService.updateById(user);
            if (status){
                return R.data(200,"取消报名成功");
            }
        }else {
            return R.data(201,"尚未报名");
            if (user.getIsApply()==2) {
                return R.data(201,"尚未报名");
            }
            if(user.getIsApply()==1){
                apply.setApplyStatus(4);
                boolean status = applyService.updateById(apply);
                //修改保安报名状态
                user.setIsApply(2);
                userService.updateById(user);
                if (status){
                    return R.data(200,"取消报名成功");
                }
            }
        }
        return R.data(202,"取消报名失败");
    }
    /**
     * 批量报名
     * @param apply 考试报名信息对象
     */
    @PostMapping("/batchApply")
    public R batchApply(@RequestBody ApplyVO apply){
        List<String> list = Arrays.asList(apply.getUserIds().split(","));
        list.forEach(userId ->{
            User user = userService.getById(userId);
            //未报名的新增,已报名的不做处理
            if (null==user.getIsApply()) {
                Apply apply1 = new Apply();
                apply1.setApplyStatus(2);
                //默认为未考试状态
                apply1.setIsExam(1);
                apply1.setApplyTime(new Date());
                apply1.setUserId(Long.parseLong(userId));
                applyService.save(apply1);
                //修改保安报名状态
                user.setIsApply(1);
                userService.updateById(user);
            }else {
                if (user.getIsApply()==2) {
                    Apply apply1 = new Apply();
                    apply1.setApplyStatus(2);
                    //默认为未考试状态
                    apply1.setIsExam(1);
                    apply1.setApplyTime(new Date());
                    apply1.setUserId(Long.parseLong(userId));
                    applyService.save(apply1);
                    //修改保安报名状态
                    user.setIsApply(1);
                    userService.updateById(user);
                }
            }
        });
        return R.data(200,"报名成功");
    }
}
src/main/java/org/springblade/modules/apply/vo/ApplyVO.java
@@ -67,4 +67,7 @@
     */
    private String applyCard;
    private String userIds;
}
src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -43,7 +43,9 @@
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.excel.UserExcel;
import org.springblade.modules.system.excel.UserImporter;
import org.springblade.modules.system.node.TreeNode;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.vo.DeptVO;
import org.springblade.modules.system.vo.UserVO;
import org.springblade.modules.system.wrapper.UserWrapper;
import org.springframework.web.bind.annotation.*;
@@ -355,4 +357,13 @@
        return R.data(pages);
    }
    /**
     * 保安员列表树,帅选无保安证,下拉tree
     */
    @GetMapping("/security-apply-tree")
    public R<List<TreeNode>> securityApplyTree(UserVO user) {
        List<TreeNode> tree = userService.getSecurityApplyTree(user);
        return R.data(tree);
    }
}
src/main/java/org/springblade/modules/system/entity/User.java
@@ -201,4 +201,10 @@
    @TableField("my_picture")
    private String myPicture;
    /**
     * 是否报名考试   1:是   2:否
     */
    @TableField("is_apply")
    private Integer isApply;
}
src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -16,15 +16,19 @@
 */
package org.springblade.modules.system.mapper;
import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.system.excel.UserExcel;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.node.TreeNode;
import org.springblade.modules.system.vo.UserVO;
import java.util.List;
import java.util.Map;
/**
 * Mapper 接口
@@ -81,4 +85,13 @@
     * @return
     */
    IPage<UserVO> selectUserPageSecurityApply(IPage<UserVO> page,@Param("user") UserVO user, @Param("deptIdList")List<Long> deptIdList,  @Param("tenantId") String tenantId);
    /**
     * 保安员列表树 安员列表树,帅选无保安证,下拉tree
     * @param user 用户信息
     * @return
     */
    @MapKey(value = "id")
    @SqlParser(filter=true)
    Map<Long, TreeNode> getSecurityApplyTree(@Param("user") UserVO user);
}
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -41,6 +41,7 @@
        <result column="securitynumber" property="securitynumber"/>
        <result column="dispatch" property="dispatch"/>
        <result column="my_picture" property="myPicture"/>
        <result column="is_apply" property="isApply"/>
        <result column="deptname" property="deptname"/>
    </resultMap>
@@ -207,7 +208,6 @@
    <select id="selectUserPageSecurityApply" resultMap="userResultMap">
        select
        bu.*,
        sa.id applyId,sa.apply_status applyStatus,
        bd.dept_name
        from
        blade_user bu
@@ -215,10 +215,6 @@
        blade_dept bd
        on
        bu.dept_id = bd.id
        left join
        sys_apply sa
        on
        sa.user_id = bu.id
        where
        bu.is_deleted = 0
        and
@@ -234,8 +230,8 @@
        <if test="user.deptId!=null and user.deptId != ''">
            and bu.dept_id = #{user.deptId}
        </if>
        <if test="user.applyStatus!=null">
            and sa.apply_status = #{user.applyStatus}
        <if test="user.isApply!=null">
            and sa.is_apply = #{user.isApply}
        </if>
        <if test="user.roleId!=null and user.roleId != ''">
            and bu.role_id = #{user.roleId}
@@ -268,4 +264,34 @@
        ORDER BY bu.id
    </select>
    <!--保安员列表树 安员列表树,帅选无保安证,下拉tree-->
    <select id="getSecurityApplyTree" resultType="org.springblade.modules.system.node.TreeNode">
        (select #{user.deptId} as id,
            '全部' as name,
            0 as parentId
            from blade_user)
        union all
        (select
            bu.id,
            bu.real_name as name,
            #{user.deptId} parentId
        from
            blade_user bu
        left join
        blade_dept bd
        on
        bu.dept_id = bd.id
        where
        bu.is_deleted = 0
        and
        bd.dept_category = 1
        and
        (hold = 2 or hold = 3)
        and bd.id = #{user.deptId}
        )
    </select>
</mapper>
src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -27,6 +27,7 @@
import org.springblade.modules.system.entity.UserInfo;
import org.springblade.modules.system.entity.UserOauth;
import org.springblade.modules.system.excel.UserExcel;
import org.springblade.modules.system.node.TreeNode;
import org.springblade.modules.system.vo.UserVO;
import java.util.List;
@@ -233,4 +234,11 @@
     * @return
     */
    IPage<UserVO> selectUserPageSecurityApply(IPage<UserVO> page, UserVO user, Long deptId, String s);
    /**
     * 保安员列表树 安员列表树,帅选无保安证,下拉tree
     * @param user 用户信息
     * @return
     */
    List<TreeNode> getSecurityApplyTree(UserVO user);
}
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -43,6 +43,7 @@
import org.springblade.modules.system.entity.*;
import org.springblade.modules.system.excel.UserExcel;
import org.springblade.modules.system.mapper.UserMapper;
import org.springblade.modules.system.node.TreeNode;
import org.springblade.modules.system.service.IRoleService;
import org.springblade.modules.system.service.IUserDeptService;
import org.springblade.modules.system.service.IUserOauthService;
@@ -52,10 +53,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.*;
import static org.springblade.common.constant.CommonConstant.DEFAULT_PARAM_PASSWORD;
@@ -444,4 +442,23 @@
        List<Long> deptIdList = SysCache.getDeptChildIds(deptId);
        return baseMapper.selectUserPageSecurityApply(page, user, null, tenantId);
    }
    /**
     * 保安员列表树 安员列表树,帅选无保安证,下拉tree
     * @param user 用户信息
     * @return
     */
    @Override
    public List<TreeNode> getSecurityApplyTree(UserVO user) {
        Map<Long,TreeNode> map = baseMapper.getSecurityApplyTree(user);
        List<TreeNode> tree = new ArrayList<>();
        map.forEach((id,treeNode) ->{
            if (map.containsKey(treeNode.getParentId())){
                map.get(treeNode.getParentId()).getChildren().add(treeNode);
            }else {
                tree.add(treeNode);
            }
        });
        return tree;
    }
}