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; } }