Commit 81aa2c5c authored by mx's avatar mx

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	src/main/java/org/rcisoft/sys/sysuser/service/impl/SysUserServiceImpl.java
parents 2aca18cb b07b9d83
......@@ -30,7 +30,8 @@ public class AttendanceSyncSchedule {
// @Scheduled(cron = "0 0 0,15,16,17 * * ?")
// 每隔5秒执行一次
@Scheduled(cron = "0 */10 * * * ?")
// @Scheduled(cron = "0 */10 * * * ?")
@Scheduled(cron = "*/5 * * * * ?")
public void execute() {
Attendance attendance = new Attendance();
// 查询昨日所有考勤
......
......@@ -224,7 +224,7 @@ public class SysUser extends CyIdIncreEntity<SysUser> {
private String deptId;
/**
* @desc 身份(1正式员工2实习生
* @desc 身份(1普通员工 2管理员 3外部访客
* @column identity
* @default
* @default
......
......@@ -83,13 +83,16 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserRepositorys, SysUser>
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
@Override
public CyPersistModel persist(SysUser sysUser) {
// 判断是否为访客
// 判断是否存在用户
List<SysUser> userList = sysUserRepositorys.querySysUsersByPhone(sysUser.getPhone());
if (sysUser.getUserType().equals("1")) {
if (userList.size() == 0) {
sysUserRepositorys.addSysUsers(sysUser);
} else {
for (SysUser u : userList) {
// 用户已存在
if (userList.size() > 0) {
// 判断存在的用户是否员工,员工报错
for (SysUser u : userList) {
if (u.getUserType().equals("0"))
throw new CyServiceException(500, u.getPhone() + "已被其他员工绑定。");
// 若是访客需要将访客账户删除
if (!u.getName().equals(sysUser.getName())) {
u.setName(sysUser.getName());
sysUserRepositorys.updateSysUser(u);
}
......@@ -123,7 +126,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserRepositorys, SysUser>
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
}*/
}
log.debug(CyUserUtil.getAuthenUsername() + "新增了ID为" +
sysUser.getBusinessId() + "的用户表信息");
return new CyPersistModel(1);
......
......@@ -65,7 +65,6 @@ public class VisitInfomationController extends CyPaginationController<VisitInfoM
@ApiOperation(value = "微信小程序添加邀访信息", notes = "添加邀访信息")
@PostMapping(value = "/wx/add")
public CyResult wxAdd(@RequestBody VisitInfoMation visitInfomation,HttpServletRequest request) {
// //todo 添加信息时候同时添加用户id
String tempUserId = CyUserUtil.getUserInfoStrProp(cyJwtUtil.getToken(request), CyUserUtil.USER_ID);
int userId = Integer.parseInt(tempUserId);
......
......@@ -17,17 +17,13 @@ import org.rcisoft.core.result.CyResult;
import org.rcisoft.core.util.CyEpExcelUtil;
import org.rcisoft.core.util.CyResultGenUtil;
import org.rcisoft.sys.sysuser.entity.SysUser;
import org.rcisoft.sys.sysuser.service.SysUserService;
import org.rcisoft.sys.visit.entity.VisitPerson;
import org.rcisoft.sys.visit.entity.VisitUser;
import org.rcisoft.sys.visit.service.VisitPersonService;
import org.rcisoft.sys.visit.service.VisitUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
......
package org.rcisoft.sys.visit.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.rcisoft.common.component.CyGlobal;
import org.rcisoft.core.component.CyDownErrorTxtComp;
import org.rcisoft.core.exception.CyServiceException;
import org.rcisoft.core.jwt.util.CyJwtUtil;
......@@ -52,6 +52,7 @@ import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
......@@ -133,26 +134,28 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
visitInfomation.getBusinessId() + "的邀访信息信息");
// 添加访客信息
visitInfomation.getUserList().forEach(u -> {
// 判断当前访客(用户)是否已经存在
SysUser sysUser = new SysUser();
sysUser.setName(u.getUserName());
sysUser.setPhone(u.getVisitPhone());
sysUser.setUsername(u.getVisitPhone());
sysUser.setNormal();
List<SysUser> sysUserList = sysUserRepositorys.querySysUsers(sysUser);
// 不存在新增
if (CollectionUtils.isEmpty(sysUserList)) {
// 根据手机号判断用户是否已经存在
QueryWrapper<SysUser> sysUserQueryWrapper = new QueryWrapper<>();
sysUserQueryWrapper.eq("phone", u.getVisitPhone())
.eq("del_flag", 0);
SysUser sysUser = sysUserRepositorys.selectOne(sysUserQueryWrapper);
// 不存在,新增访客
if (ObjectUtils.isEmpty(sysUser)) {
sysUser.setPersonId(UUID.randomUUID().toString());
sysUser.setUserType("1");
sysUser.setIdentity("3");
sysUserRepositorys.insert(sysUser);
u.setPersonId(sysUser.getPersonId());
u.setUserId(sysUser.getBusinessId());
} else {
// 存在覆盖
sysUser.setBusinessId(sysUserList.get(0).getBusinessId());
sysUserRepositorys.updateSysUser(sysUser);
u.setPersonId(sysUserList.get(0).getPersonId());
u.setUserId(sysUserList.get(0).getBusinessId());
// 存在员工
if (sysUser.getUserType().equals("0"))
throw new CyServiceException(500, sysUser.getPhone() + "已被员工绑定,不能成为访客。");
if (!u.getUserName().equals(sysUser.getName())) {
sysUser.setName(u.getUserName());
sysUserRepositorys.updateSysUser(sysUser);
}
}
u.setPersonId(sysUser.getPersonId());
u.setUserId(sysUser.getBusinessId());
u.setVisitId(visitInfomation.getBusinessId());
u.setNormal();
visitUserRepository.insert(u);
......@@ -175,13 +178,14 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
visitInfomation.getBusinessId() + "的邀访信息信息");
return new CyPersistModel(line);
}
/**
* 禁用 邀访信息
*
* @param visitInfomation
* @return
*/
public CyPersistModel forbidden(VisitInfoMation visitInfomation){
public CyPersistModel forbidden(VisitInfoMation visitInfomation) {
visitInfomation.setVisitStatus("2");
// 禁用邀访信息
int line = baseMapper.updateById(visitInfomation);
......@@ -541,7 +545,7 @@ public class VisitInfomationServiceImpl extends ServiceImpl<VisitInfomationRepos
} catch (Exception e) {
throw new CyServiceException(CyResSvcExcEnum.EXCEL_IMPORT_HEADER_ERROR);
}
if (!flag){
if (!flag) {
throw new CyServiceException(CyResSvcExcEnum.EXCEL_IMPORT_HEADER_ERROR);
}
if (!flag || !CyCompareToolUtils.compareFileName(file, "邀访信息", 0, 0)) {
......
......@@ -3,7 +3,6 @@ package org.rcisoft.sys.visit.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.rcisoft.common.component.CyGlobal;
import org.rcisoft.core.component.CyDownErrorTxtComp;
import org.rcisoft.core.exception.CyServiceException;
import org.rcisoft.core.model.CyPageInfo;
......@@ -11,8 +10,6 @@ import org.rcisoft.core.model.CyPersistModel;
import org.rcisoft.core.result.enums.CyResSvcExcEnum;
import org.rcisoft.core.util.CyCompareToolUtils;
import org.rcisoft.core.util.CyUserUtil;
import org.rcisoft.sys.attendance.entity.Attendance;
import org.rcisoft.sys.attendance.service.impl.AttendanceServiceImpl;
import org.rcisoft.sys.constant.CyDictCons;
import org.rcisoft.sys.dictionary.entity.DictData;
import org.rcisoft.sys.dictionary.service.DictionaryService;
......@@ -21,7 +18,6 @@ import org.rcisoft.sys.sysuser.dao.*;
import org.rcisoft.sys.sysuser.dto.ExcelDTO;
import org.rcisoft.sys.sysuser.dto.ExportUserDTO;
import org.rcisoft.sys.sysuser.entity.*;
import org.rcisoft.sys.sysuser.service.SysUserService;
import org.rcisoft.sys.sysuser.util.CheckUtil;
import org.rcisoft.sys.sysuser.util.CyEpExcelUtil;
import org.rcisoft.sys.visit.dao.VisitInfomationRepository;
......@@ -31,8 +27,6 @@ import org.rcisoft.sys.visit.entity.VisitUser;
import org.rcisoft.sys.visit.service.VisitPersonService;
import org.rcisoft.sys.wbac.user.dto.ErrorDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
......@@ -63,18 +57,8 @@ public class VisitPersonServiceImpl extends ServiceImpl<VisitPersonRepositorys,
@Autowired
private CyDownErrorTxtComp errorTxt;
@Autowired
private CyGlobal global;
@Autowired
private SysUserRoleRepository sysUserRoleRepository;
@Autowired
private PasswordEncoder passwordEncoder;
@Value("${cy.init.password}")
private String password;
@Autowired
private AttendanceServiceImpl attendanceService;
@Autowired
private DoorRecordRepository doorRecordRepository;
@Autowired
private VisitInfomationRepository visitInfomationRepository;
/**
......@@ -86,64 +70,22 @@ public class VisitPersonServiceImpl extends ServiceImpl<VisitPersonRepositorys,
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
@Override
public CyPersistModel persist(SysUser sysUser) {
// 判断是否为访客
if (sysUser.getUserType().equals("1")) {
List<SysUser> userList = sysUserRepositorys.querySysUsersByPhone(sysUser.getPhone());
if (userList.size() == 0) {
sysUserRepositorys.addSysUsers(sysUser);
} else {
for (SysUser u : userList) {
// 根据手机号判断是否存在用户
List<SysUser> userList = sysUserRepositorys.querySysUsersByPhone(sysUser.getPhone());
if (userList.size() == 0) {
// 生成guid
sysUserRepositorys.addSysUsers(sysUser);
} else {
// 判断存在的用户是否员工,员工报错
for (SysUser u : userList) {
if (u.getUserType().equals("0"))
throw new CyServiceException(500, u.getPhone() + "已被员工绑定,不能成为访客。");
if (!u.getName().equals(sysUser.getName())) {
u.setName(sysUser.getName());
sysUserRepositorys.updateSysUser(u);
}
}
return new CyPersistModel(1);
}
// //查询是否重名
// if (sysUserRepositorys.querySysUsersByName(sysUser.getName()).size() >= 1) {
// throw new CyServiceException(500, "姓名已存在");
// }
//判断是否添加为管理员
if (sysUser.getIdentity().equals("2")) {
//添加账号为手机号
sysUser.setUsername(sysUser.getPhone());
//查询是否有重复用户名
if (sysUserRepositorys.querySysUsersByUserName(sysUser.getUsername()).size() >= 1) {
throw new CyServiceException(500, "用户名已存在");
}
//添加密码
sysUser.setPassword(this.passwordEncoder.encode(this.password));
sysUserRepositorys.addSysUsers(sysUser);
List<SysUser> sysUsers = sysUserRepositorys.querySysUsersByName(sysUser.getName());
if (sysUser.getRoleList() != null && sysUser.getRoleList().size() > 0) {
for (int i = 0; i < sysUser.getRoleList().size(); i++) {
SysUserRole sysUserRole = new SysUserRole();
sysUserRole.setUserId(sysUsers.get(0).getBusinessId());
sysUserRole.setRoleId((Integer) sysUser.getRoleList().get(i));
sysUserRoleRepository.addRoles(sysUserRole);
}
}
} else {
//查询已有手机号
if (sysUserRepositorys.querySysUsersByPhone(sysUser.getPhone()).size() >= 1) {
throw new CyServiceException(500, "手机号已存在");
}
//添加所属园区中文
sysUser.setAddressLabel(sysUser.getAddressLabel());
//添加职位中文
sysUser.setPositionLabel(sysUser.getPositionLabel());
//添加班次中文
sysUser.setNltBzLabel(sysUser.getNltBzLabel());
//添加用户名
sysUser.setUsername(sysUser.getPhone());
//添加身份
sysUser.setIdentity("1");
sysUserRepositorys.addSysUsers(sysUser);
}
log.debug(CyUserUtil.getAuthenUsername() + "新增了ID为" +
sysUser.getBusinessId() + "的用户表信息");
return new CyPersistModel(1);
}
......@@ -256,22 +198,22 @@ public class VisitPersonServiceImpl extends ServiceImpl<VisitPersonRepositorys,
*/
@Override
public IPage<SysUser> findAllByPagination(CyPageInfo<SysUser> paginationUtility, SysUser sysUser) {
if (sysUser.getSort() == null || sysUser.getSort().equals("")){
if (sysUser.getSort() == null || sysUser.getSort().equals("")) {
sysUser.setSort("1");
}
IPage<SysUser> sysUserIPage = baseMapper.querySysUsersPaged(paginationUtility, sysUser);
List<SysUser> userList = sysUserIPage.getRecords();
for (SysUser user:userList){
for (SysUser user : userList) {
String phone = user.getPhone();
int count = 0;
VisitInfoMation infoMationQuerry = new VisitInfoMation();
infoMationQuerry.setVisitStatus("1");
List<VisitInfoMation> infoMationQuerryList = visitInfomationRepository.queryVisitInfomations(infoMationQuerry);
for (VisitInfoMation info:infoMationQuerryList){
for (VisitUser u:info.getUserList()){
if (u.getVisitPhone() != null && u.getVisitPhone().equals(phone)){
for (VisitInfoMation info : infoMationQuerryList) {
for (VisitUser u : info.getUserList()) {
if (u.getVisitPhone() != null && u.getVisitPhone().equals(phone)) {
count++;
}
}
......
......@@ -2,7 +2,7 @@
cy_redis:
ip: 124.71.16.228
port: 6397
password: '123456'
password: ''
# rabbitMq
cy_mq:
......@@ -18,6 +18,13 @@ cy_db:
password: root
db: entrance
#cy_db:
# ip: 127.0.0.1
# port: 3306
# username: root
# password: wc199921
# db: entrance
#cy_db:
# ip: 127.0.0.1
# port: 3306
......@@ -78,7 +85,8 @@ logging:
# com.alibaba.nacos: debug
global:
base_upload_location: /working/file/
#base_upload_location: /working/file/
base_upload_location: D:\working\file
base_discovery: 'http://124.71.16.228:18088/file/'
code_generate_location: /code
video_location: /video
......
......@@ -63,10 +63,10 @@
and nlt_bz = #{entity.nltBz}
</if>
<if test="entity.sort == '0'.toString()">
order by work_hours
order by date_of_attendance desc, work_hours desc
</if>
<if test="entity.sort == '1'.toString()">
order by off_hours
order by date_of_attendance desc, off_hours desc
</if>
<if test="entity.sort == '2'.toString()">
order by time_on_job + 0
......
......@@ -254,7 +254,7 @@
<select id="queryVisitById" resultMap="BaseResultMap">
select
vi.business_id,vi.user_name,vi.user_id,vi.visit_reason_code,vi.visit_region_code,vi.dept_name,vi.post_name,vi.create_date,vi.visit_reason,vi.visit_region,vi.visit_real_time,vi.del_flag,
vi.business_id,vi.user_name,vi.user_id,vi.visit_reason_code,vi.visit_region_code,vi.visit_reason_other,vi.dept_name,vi.post_name,vi.create_date,vi.visit_reason,vi.visit_region,vi.visit_real_time,vi.del_flag,
vi.visit_date,vi.visit_time,vi.visit_status
from visit_infomation vi
where vi.del_flag='0'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment