From 08363052cecb30230a2c8b3eba791ca8d1be00a5 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 31 Aug 2021 15:32:38 +0800
Subject: [PATCH] 二维码生成地址修改,保安证编码生成修改
---
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java | 272 ++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 243 insertions(+), 29 deletions(-)
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index ac466e9..9cfd56d 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -26,6 +26,7 @@
import org.springblade.common.cache.ParamCache;
import org.springblade.common.cache.SysCache;
import org.springblade.common.cache.UserCache;
+import org.springblade.common.constant.AgeUtil;
import org.springblade.common.constant.CommonConstant;
import org.springblade.common.constant.TenantConstant;
import org.springblade.common.enums.DictEnum;
@@ -40,6 +41,12 @@
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.*;
import org.springblade.modules.auth.enums.UserEnum;
+import org.springblade.modules.dispatcher.service.IDispatcherService;
+import org.springblade.modules.dispatcher.vo.DispatcherUnitVO;
+import org.springblade.modules.dispatcher.vo.DispatcherVO;
+import org.springblade.modules.information.entity.Information;
+import org.springblade.modules.information.service.IInformationService;
+import org.springblade.modules.jurisdiction.entity.Jurisdiction;
import org.springblade.modules.system.entity.*;
import org.springblade.modules.system.excel.UserExcel;
import org.springblade.modules.system.mapper.UserMapper;
@@ -71,6 +78,7 @@
private final IUserOauthService userOauthService;
private final IRoleService roleService;
private final BladeTenantProperties tenantProperties;
+ private final IInformationService iInformationService;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -95,10 +103,10 @@
if (Func.isNotEmpty(user.getPassword())) {
user.setPassword(DigestUtil.encrypt(user.getPassword()));
}
- Integer userCount = baseMapper.selectCount(Wrappers.<User>query().lambda().eq(User::getTenantId, tenantId).eq(User::getAccount, user.getAccount()));
- if (userCount > 0 && Func.isEmpty(user.getId())) {
- throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
- }
+// Integer userCount = baseMapper.selectCount(Wrappers.<User>query().lambda().eq(User::getTenantId, tenantId).eq(User::getAccount, user.getAccount()));
+// if (userCount > 0 && Func.isEmpty(user.getId())) {
+// throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
+// }
return save(user) && submitUserDept(user);
}
@@ -138,7 +146,20 @@
}
@Override
- public IPage<UserVO> selectUserPage(IPage<UserVO> page, User user, Long deptId, String tenantId) {
+ 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()));
+ }else {
+ userVO.setAge(null);
+ }
+ });
+ return page.setRecords(userVOS);
+ }
+
+ @Override
+ public IPage<User> selectUserPage(IPage<User> page, User user, Long deptId, String tenantId) {
List<Long> deptIdList = SysCache.getDeptChildIds(deptId);
return page.setRecords(baseMapper.selectUserPage(page, user, deptIdList, tenantId));
}
@@ -299,13 +320,40 @@
data.forEach(userExcel -> {
User user = Objects.requireNonNull(BeanUtil.copy(userExcel, User.class));
// 设置租户ID
- if (!AuthUtil.isAdministrator() || StringUtil.isBlank(user.getTenantId())) {
- user.setTenantId(AuthUtil.getTenantId());
+ user.setTenantId("000000");
+ //默认在职
+ user.setStatus(1);
+ //判断是否持证
+ if (null != userExcel.getHold() && userExcel.getHold() != "") {
+ if (userExcel.getHold().equals("是")) {
+ user.setHold("1");
+ }
+ if(userExcel.getHold().equals("否")) {
+ user.setHold("2");
+ }
}
- user.setRoleId("1412226235153731586");
+ //分配保安角色
+ Role role = new Role();
+ role.setRoleAlias("保安");
+ Role oneRole = roleService.getOne(Condition.getQueryWrapper(role));
+ user.setRoleId(oneRole.getId().toString());
+ //性别
+ if (null!=userExcel.getSex()) {
+ if (userExcel.getSex().equals("男")) {
+ user.setSex(1);
+ }
+ if (userExcel.getSex().equals("女")) {
+ user.setSex(2);
+ }
+ }
+ //设置部门id
+ user.setDeptId(userDeptService.selectIn(user.getDeptId()));
+ //设置账号
+ user.setAccount(user.getCardid());
//获取默认密码配置
- String initPassword = ParamCache.getValue(DEFAULT_PARAM_PASSWORD);
- user.setPassword(initPassword);
+ user.setPassword(user.getCardid().substring(user.getCardid().length()-6));
+// user.setPassword(ParamCache.getValue(DEFAULT_PARAM_PASSWORD));
+ //新增
this.submit(user);
});
}
@@ -405,6 +453,7 @@
/**
* 通过 身份证号查询用户信息
+ *
* @param idCardNo 身份证号
* @return
*/
@@ -414,51 +463,216 @@
}
@Override
- public IPage<User> selectUserPageSecurity(IPage<User> page, User user, Long deptId, String tenantId) {
- List<Long> deptIdList = SysCache.getDeptChildIds(deptId);
- return page.setRecords(baseMapper.selectUserPageSecurity(page, user, deptIdList, tenantId));
+ public IPage<User> selectUserPageSecurity(IPage<User> page, User user) {
+ return page.setRecords(baseMapper.selectUserPageSecurity(page, user));
}
/**
* 自定义用户列表(只有保安员),根据保安员查
*/
@Override
- public List<User> selectUserPageSecurityUnit(IPage<User> page, User user, Long deptId, String tenantId) {
- List<Long> deptIdList = SysCache.getDeptChildIds(deptId);
- return baseMapper.selectUserPageSecurity(page, user, deptIdList, tenantId);
+ public List<User> selectUserPageSecurityUnit(IPage<User> page, User user) {
+ return baseMapper.selectUserPageSecurity(page, user);
}
/**
* 保安员列表,帅选无保安证
+ *
* @param page
* @param user
- * @param deptId
- * @param tenantId
* @return
*/
@Override
- public IPage<UserVO> selectUserPageSecurityApply(IPage<UserVO> page, UserVO user, Long deptId, String tenantId) {
- List<Long> deptIdList = SysCache.getDeptChildIds(deptId);
- return baseMapper.selectUserPageSecurityApply(page, user, null, tenantId);
+ public IPage<UserVO> selectUserPageSecurityApply(IPage<UserVO> page, UserVO user) {
+ return baseMapper.selectUserPageSecurityApply(page, user);
}
/**
* 保安员列表树 安员列表树,帅选无保安证,下拉tree
+ *
* @param user 用户信息
* @return
*/
@Override
public List<TreeNode> getSecurityApplyTree(UserVO user) {
- Map<Long,TreeNode> map = baseMapper.getSecurityApplyTree(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);
- }
- });
+ if (map.size() > 1) {
+ map.forEach((id, treeNode) -> {
+ if (map.containsKey(treeNode.getParentId())) {
+ map.get(treeNode.getParentId()).getChildren().add(treeNode);
+ } else {
+ tree.add(treeNode);
+ }
+ });
+ }
return tree;
}
+
+ @Override
+ public List<Map<Object, Object>> selectInr(String deptid) {
+ return baseMapper.selectInr(deptid);
+ }
+
+ /**
+ * 查询当前年份已有的保安证编号
+ *
+ * @param pre 前缀
+ * @return
+ */
+ @Override
+ public int getSecurityPaperCount(String pre) {
+ return baseMapper.getSecurityPaperCount(pre);
+ }
+
+ /**
+ * 查询当前公司未持证保安没有报名的人员
+ * @param deptId
+ * @return
+ */
+ @Override
+ public List<User> getNotApplyIdList(String deptId) {
+ return baseMapper.getNotApplyIdList(deptId);
+ }
+
+ /**
+ * 计算保安人员年龄
+ * @param userId
+ * @return
+ */
+ @Override
+ public UserVO getUserAgeById(Long userId) {
+ return baseMapper.getUserAgeById(userId);
+ }
+
+ @Override
+ public List<Map<String, Object>> selectUser() {
+ return baseMapper.selectUser();
+ }
+
+ /**
+ * 导入保安员
+ * @param data
+ * @param isCovered
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void importSecurity(List<UserExcel> data, Boolean isCovered) {
+ data.forEach(userExcel -> {
+ User user = Objects.requireNonNull(BeanUtil.copy(userExcel, User.class));
+ // 设置租户ID
+ user.setTenantId("000000");
+ //默认在职
+ user.setStatus(1);
+ //判断是否持证
+ if (null != userExcel.getHold() && userExcel.getHold() != "") {
+ if (userExcel.getHold().equals("是")) {
+ user.setHold("1");
+ }
+ if(userExcel.getHold().equals("否")) {
+ user.setHold("2");
+ }
+ }
+ //分配保安角色
+ Role role = new Role();
+ role.setRoleAlias("保安");
+ Role oneRole = roleService.getOne(Condition.getQueryWrapper(role));
+ user.setRoleId(oneRole.getId().toString());
+
+ if (null!=userExcel.getSex()) {
+ if (userExcel.getSex().equals("男")) {
+ user.setSex(1);
+ }
+ if (userExcel.getSex().equals("女")) {
+ user.setSex(2);
+ }
+ }
+ //设置部门id
+ user.setDeptId(userDeptService.selectIn(user.getDeptId()));
+ //设置账号
+ user.setAccount(user.getCardid());
+ //获取默认密码配置
+ user.setPassword(user.getCardid().substring(user.getCardid().length()-6));
+// user.setPassword(ParamCache.getValue(DEFAULT_PARAM_PASSWORD));
+ //新增
+ this.submit(user);
+ });
+ }
+
+
+ /**
+ * 根据保安员编码查询保安信息
+ * @param securityNumber 保安证编码
+ * @return
+ */
+ @Override
+ public UserVO getUserInfoBySecurityNumber(String securityNumber) {
+ return baseMapper.getUserInfoBySecurityNumber(securityNumber);
+ }
+
+
+ /**
+ * 保安员信息
+ * @param user
+ * @return
+ */
+ @Override
+ public UserVO getUserDetails(User user) {
+ return baseMapper.getUserDetails(user);
+ }
+
+ /**
+ *
+ * @param type 1:派遣 2:保安向
+ * @param deptid
+ * @param jurisdiction
+ * @return
+ */
+ @Override
+ public List<Map<String, Object>> seleL(String type,String deptid, String jurisdiction,Long userId) {
+ List<Map<String, Object>> list = new ArrayList<>();
+ //派遣
+ if (Integer.parseInt(type)==1){
+ list = baseMapper.getDispaterInfo(deptid, jurisdiction);
+ }
+ //工作汇报
+ //保安向保安
+ if (Integer.parseInt(type)==2){
+ list = baseMapper.getWorkReportInfo(type,deptid, jurisdiction);
+ }
+ //保安向民警
+ if (Integer.parseInt(type)==3){
+ //查询用户信息
+ User user = this.getById(userId);
+ //判断用户是否被派遣
+ if (null!=user.getDispatch()){
+ if (user.getDispatch().equals("0")) {
+ //在派遣中,向派遣所在地辖区民警汇报
+ //查询派遣信息
+ DispatcherVO dispatcherVO = baseMapper.getDispatcherInfoByUserId(userId);
+ list = baseMapper.getWorkReportInfos(null, null, dispatcherVO.getJurisdiction());
+ }
+ if (user.getDispatch().equals("1")){
+ //未派遣或已派遣结束,向单位所在辖区民警汇报
+ Information information = new Information();
+ information.setDepartmentid(user.getDeptId());
+ Information one = iInformationService.getOne(Condition.getQueryWrapper(information));
+ list = baseMapper.getWorkReportInfos(type,null, one.getJurisdiction());
+ }
+ }else {
+ //未派遣或已派遣结束,向单位所在辖区民警汇报
+ Information information = new Information();
+ information.setDepartmentid(user.getDeptId());
+ Information one = iInformationService.getOne(Condition.getQueryWrapper(information));
+ list = baseMapper.getWorkReportInfos(type,null, one.getJurisdiction());
+ }
+
+ }
+ //民警对民警
+ if (Integer.parseInt(type)==4){
+ list = baseMapper.getWorkReportInfo(type,deptid, jurisdiction);
+ }
+ return list;
+ }
}
--
Gitblit v1.9.3