打卡调整
This commit is contained in:
parent
deb4b535ec
commit
d3dc294b37
@ -5,6 +5,9 @@ import com.evo.attendance.domain.vo.RzAttendanceData;
|
|||||||
import com.evo.attendance.domain.vo.RzAttendanceVo;
|
import com.evo.attendance.domain.vo.RzAttendanceVo;
|
||||||
import com.evo.common.constant.Constants;
|
import com.evo.common.constant.Constants;
|
||||||
import com.evo.common.utils.StringUtils;
|
import com.evo.common.utils.StringUtils;
|
||||||
|
import com.evo.common.utils.spring.SpringUtils;
|
||||||
|
import com.evo.personnelMatters.domain.EqOverStaff;
|
||||||
|
import com.evo.personnelMatters.mapper.EqOverStaffMapper;
|
||||||
import com.evo.system.domain.SysStaff;
|
import com.evo.system.domain.SysStaff;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@ -59,7 +62,12 @@ public interface PunchTheClockStrategyExchangeProcessor {
|
|||||||
if(StringUtils.isEmpty(sysStaff.getTimeClock())){
|
if(StringUtils.isEmpty(sysStaff.getTimeClock())){
|
||||||
return "当前人员未注册打卡机";
|
return "当前人员未注册打卡机";
|
||||||
}
|
}
|
||||||
if(!sn.equals(com.evo.equipment.constant.Constants.EQ_DEVICE_PUBLIC_CODE) && !sn.equals(sysStaff.getTimeClock())){
|
//不是特殊打卡, 并且不是公共打卡, 并且当前打卡设备不是人员绑定设备
|
||||||
|
if(!sn.equals(com.evo.equipment.constant.Constants.EQ_DEVICE_OVER_TIME_CODE) && !sn.equals(com.evo.equipment.constant.Constants.EQ_DEVICE_PUBLIC_CODE) && !sn.equals(sysStaff.getTimeClock())){
|
||||||
|
return "未设置当前考勤机打卡权限";
|
||||||
|
}
|
||||||
|
//是特殊打卡 并且 特殊打卡人员中, 不包含当前人员
|
||||||
|
if(sn.equals(com.evo.equipment.constant.Constants.EQ_DEVICE_OVER_TIME_CODE) && StringUtils.isNull(SpringUtils.getBean(EqOverStaffMapper.class).selectEqOverStaffByUserId(sysStaff.getUserId()))){
|
||||||
return "未设置当前考勤机打卡权限";
|
return "未设置当前考勤机打卡权限";
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import com.evo.common.utils.Collections;
|
|||||||
import com.evo.common.utils.StringUtils;
|
import com.evo.common.utils.StringUtils;
|
||||||
import com.evo.equipment.domain.EqButton;
|
import com.evo.equipment.domain.EqButton;
|
||||||
import com.evo.equipment.mapper.EqButtonMapper;
|
import com.evo.equipment.mapper.EqButtonMapper;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -22,6 +23,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
|
@Slf4j
|
||||||
public class PunchTheClockServiceImpl implements PunchTheClockService {
|
public class PunchTheClockServiceImpl implements PunchTheClockService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
@ -52,6 +54,7 @@ public class PunchTheClockServiceImpl implements PunchTheClockService {
|
|||||||
public String returnMessage(String json){
|
public String returnMessage(String json){
|
||||||
//解析收到的数据
|
//解析收到的数据
|
||||||
JSONObject jsonObject = JSONObject.parseObject(json);
|
JSONObject jsonObject = JSONObject.parseObject(json);
|
||||||
|
log.info("获取打卡按钮信息{}", jsonObject.toString());
|
||||||
String userId = jsonObject.getString("user_id");
|
String userId = jsonObject.getString("user_id");
|
||||||
//需要推送的数据
|
//需要推送的数据
|
||||||
String sn = jsonObject.getString("sn");
|
String sn = jsonObject.getString("sn");
|
||||||
@ -216,7 +219,7 @@ public class PunchTheClockServiceImpl implements PunchTheClockService {
|
|||||||
//根据顺序获取打卡规则
|
//根据顺序获取打卡规则
|
||||||
EqButton eqButton = bt_list.get(Integer.parseInt(button)-1);
|
EqButton eqButton = bt_list.get(Integer.parseInt(button)-1);
|
||||||
String rules = eqButton.getName(); //打卡规则
|
String rules = eqButton.getName(); //打卡规则
|
||||||
|
log.info("获取打卡信息{}", jsonObject.toString());
|
||||||
Map<String, PunchTheClockStrategyExchangeProcessor> mqttRequestExchangeProcessorMap = applicationContext.getBeansOfType(PunchTheClockStrategyExchangeProcessor.class);
|
Map<String, PunchTheClockStrategyExchangeProcessor> mqttRequestExchangeProcessorMap = applicationContext.getBeansOfType(PunchTheClockStrategyExchangeProcessor.class);
|
||||||
for (PunchTheClockStrategyExchangeProcessor processor : mqttRequestExchangeProcessorMap.values()) {
|
for (PunchTheClockStrategyExchangeProcessor processor : mqttRequestExchangeProcessorMap.values()) {
|
||||||
if(processor.accept(sn)){
|
if(processor.accept(sn)){
|
||||||
|
|||||||
@ -192,9 +192,10 @@ public class EqSnDetailServiceImpl extends ServiceImpl<EqSnDetailMapper, EqSnDet
|
|||||||
if(snList.size() ==1 && tsSn.contains(snList.get(0))){
|
if(snList.size() ==1 && tsSn.contains(snList.get(0))){
|
||||||
snUserPhotoList.putAll(initTsDkDevice(snList.get(0)));
|
snUserPhotoList.putAll(initTsDkDevice(snList.get(0)));
|
||||||
}else{
|
}else{
|
||||||
|
List<String> allSnList = new ArrayList<String>(){{addAll(snList);}};
|
||||||
List<String> tsDeviceSn = Collections.findDuplicatesList(snList, tsSn);
|
List<String> tsDeviceSn = Collections.findDuplicatesList(allSnList, tsSn);
|
||||||
//所有所有不是特殊打卡机人员信息
|
//所有所有不是特殊打卡机人员信息
|
||||||
|
snList.remove(tsDeviceSn);
|
||||||
snList.stream().filter(sn-> !tsSn.contains(sn)).forEach(sn ->{
|
snList.stream().filter(sn-> !tsSn.contains(sn)).forEach(sn ->{
|
||||||
//获取所有未删除的, 没有离职的员工信息
|
//获取所有未删除的, 没有离职的员工信息
|
||||||
List<SysStaff> userList = sysStaffMapper.selectList((new LambdaQueryWrapper<SysStaff>().eq(SysStaff::getTimeClock, sn).eq(SysStaff::getDelFlag, Constants.DELETE_FLAG_0).ne(SysStaff::getStatus,Constants.JOB_STATIS_11).select(SysStaff::getUserId, SysStaff::getName)));
|
List<SysStaff> userList = sysStaffMapper.selectList((new LambdaQueryWrapper<SysStaff>().eq(SysStaff::getTimeClock, sn).eq(SysStaff::getDelFlag, Constants.DELETE_FLAG_0).ne(SysStaff::getStatus,Constants.JOB_STATIS_11).select(SysStaff::getUserId, SysStaff::getName)));
|
||||||
|
|||||||
@ -202,7 +202,7 @@ public class SysStaff extends BaseEntity
|
|||||||
private List<Long> subsidyList;
|
private List<Long> subsidyList;
|
||||||
|
|
||||||
public List<Long> getSubsidyList() {
|
public List<Long> getSubsidyList() {
|
||||||
if(StringUtils.isNotEmpty(subsidys)){
|
if(Collections.isEmpty(subsidyList) && StringUtils.isNotEmpty(subsidys)){
|
||||||
subsidyList = Collections.asList(subsidys.split(",")).stream().map(Long::valueOf).collect(Collectors.toList());
|
subsidyList = Collections.asList(subsidys.split(",")).stream().map(Long::valueOf).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
return subsidyList;
|
return subsidyList;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user