diff --git a/casic-service-person/src/main/java/com/casic/missiles/modular/handler/BizLogCheckHandler.java b/casic-service-person/src/main/java/com/casic/missiles/modular/handler/BizLogCheckHandler.java new file mode 100644 index 0000000..627c2f7 --- /dev/null +++ b/casic-service-person/src/main/java/com/casic/missiles/modular/handler/BizLogCheckHandler.java @@ -0,0 +1,48 @@ +package com.casic.missiles.modular.handler; + +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.handler.BizCheckLoginHandler; +import com.casic.missiles.core.shiro.ShiroUser; +import com.casic.missiles.modular.staff.service.IStaffService; +import com.casic.missiles.modular.system.service.IPersonAttendanceLogService; +import lombok.Data; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.DependsOn; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 考勤记录 按每天首次登陆增加 + * + * @author lwh + */ +@Component +@Data +@DependsOn("loadDatabasePropertyConfig") +public class BizLogCheckHandler implements BizCheckLoginHandler { + @Value("${casic.attend.log.roleTips}") + private List roleTips; + @Value("${casic.attend.log.interval}") + private Integer interval; + private final ICommonPermissionService service; + private final IPersonAttendanceLogService personAttendanceLogService; + private static final Logger logger = LoggerFactory.getLogger(BizLogCheckHandler.class); + + public BizLogCheckHandler(ICommonPermissionService service, IPersonAttendanceLogService personAttendanceLogService) { + this.service = service; + this.personAttendanceLogService = personAttendanceLogService; + } + + @Override + public void checkUser(ShiroUser shiroUser, Boolean isApp) { + //校验当前登录用户 + if (isApp) { + // 增加业务人员打卡记录 + personAttendanceLogService.saveUserLog(shiroUser.getAccount(),interval); + } + } +} diff --git a/casic-service-person/src/main/java/com/casic/missiles/modular/handler/BizLogCheckHandler.java b/casic-service-person/src/main/java/com/casic/missiles/modular/handler/BizLogCheckHandler.java new file mode 100644 index 0000000..627c2f7 --- /dev/null +++ b/casic-service-person/src/main/java/com/casic/missiles/modular/handler/BizLogCheckHandler.java @@ -0,0 +1,48 @@ +package com.casic.missiles.modular.handler; + +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.handler.BizCheckLoginHandler; +import com.casic.missiles.core.shiro.ShiroUser; +import com.casic.missiles.modular.staff.service.IStaffService; +import com.casic.missiles.modular.system.service.IPersonAttendanceLogService; +import lombok.Data; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.DependsOn; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 考勤记录 按每天首次登陆增加 + * + * @author lwh + */ +@Component +@Data +@DependsOn("loadDatabasePropertyConfig") +public class BizLogCheckHandler implements BizCheckLoginHandler { + @Value("${casic.attend.log.roleTips}") + private List roleTips; + @Value("${casic.attend.log.interval}") + private Integer interval; + private final ICommonPermissionService service; + private final IPersonAttendanceLogService personAttendanceLogService; + private static final Logger logger = LoggerFactory.getLogger(BizLogCheckHandler.class); + + public BizLogCheckHandler(ICommonPermissionService service, IPersonAttendanceLogService personAttendanceLogService) { + this.service = service; + this.personAttendanceLogService = personAttendanceLogService; + } + + @Override + public void checkUser(ShiroUser shiroUser, Boolean isApp) { + //校验当前登录用户 + if (isApp) { + // 增加业务人员打卡记录 + personAttendanceLogService.saveUserLog(shiroUser.getAccount(),interval); + } + } +} diff --git a/casic-service-person/src/main/java/com/casic/missiles/modular/staff/service/impl/StaffServiceImpl.java b/casic-service-person/src/main/java/com/casic/missiles/modular/staff/service/impl/StaffServiceImpl.java index 9bfec2d..fabd06a 100644 --- a/casic-service-person/src/main/java/com/casic/missiles/modular/staff/service/impl/StaffServiceImpl.java +++ b/casic-service-person/src/main/java/com/casic/missiles/modular/staff/service/impl/StaffServiceImpl.java @@ -95,6 +95,15 @@ if (ToolUtil.isNotEmpty(entity.getSex())) { user.setSex(new Integer(entity.getSex())); } + + try { + //设置生日 + String birthday = extractYearMonthDayOfIdCard(entity.getIdCard()); + user.setBirthday(DateUtil.parseDate(birthday)); + } catch (Exception e) { + e.printStackTrace(); + } + user.setPhone(entity.getTel()); user.setDeptid(entity.getDeptId()); //判断是否设置默认角色 diff --git a/casic-service-person/src/main/java/com/casic/missiles/modular/handler/BizLogCheckHandler.java b/casic-service-person/src/main/java/com/casic/missiles/modular/handler/BizLogCheckHandler.java new file mode 100644 index 0000000..627c2f7 --- /dev/null +++ b/casic-service-person/src/main/java/com/casic/missiles/modular/handler/BizLogCheckHandler.java @@ -0,0 +1,48 @@ +package com.casic.missiles.modular.handler; + +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.handler.BizCheckLoginHandler; +import com.casic.missiles.core.shiro.ShiroUser; +import com.casic.missiles.modular.staff.service.IStaffService; +import com.casic.missiles.modular.system.service.IPersonAttendanceLogService; +import lombok.Data; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.DependsOn; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 考勤记录 按每天首次登陆增加 + * + * @author lwh + */ +@Component +@Data +@DependsOn("loadDatabasePropertyConfig") +public class BizLogCheckHandler implements BizCheckLoginHandler { + @Value("${casic.attend.log.roleTips}") + private List roleTips; + @Value("${casic.attend.log.interval}") + private Integer interval; + private final ICommonPermissionService service; + private final IPersonAttendanceLogService personAttendanceLogService; + private static final Logger logger = LoggerFactory.getLogger(BizLogCheckHandler.class); + + public BizLogCheckHandler(ICommonPermissionService service, IPersonAttendanceLogService personAttendanceLogService) { + this.service = service; + this.personAttendanceLogService = personAttendanceLogService; + } + + @Override + public void checkUser(ShiroUser shiroUser, Boolean isApp) { + //校验当前登录用户 + if (isApp) { + // 增加业务人员打卡记录 + personAttendanceLogService.saveUserLog(shiroUser.getAccount(),interval); + } + } +} diff --git a/casic-service-person/src/main/java/com/casic/missiles/modular/staff/service/impl/StaffServiceImpl.java b/casic-service-person/src/main/java/com/casic/missiles/modular/staff/service/impl/StaffServiceImpl.java index 9bfec2d..fabd06a 100644 --- a/casic-service-person/src/main/java/com/casic/missiles/modular/staff/service/impl/StaffServiceImpl.java +++ b/casic-service-person/src/main/java/com/casic/missiles/modular/staff/service/impl/StaffServiceImpl.java @@ -95,6 +95,15 @@ if (ToolUtil.isNotEmpty(entity.getSex())) { user.setSex(new Integer(entity.getSex())); } + + try { + //设置生日 + String birthday = extractYearMonthDayOfIdCard(entity.getIdCard()); + user.setBirthday(DateUtil.parseDate(birthday)); + } catch (Exception e) { + e.printStackTrace(); + } + user.setPhone(entity.getTel()); user.setDeptid(entity.getDeptId()); //判断是否设置默认角色 diff --git a/casic-service-person/src/main/java/com/casic/missiles/modular/system/service/IPersonAttendanceLogService.java b/casic-service-person/src/main/java/com/casic/missiles/modular/system/service/IPersonAttendanceLogService.java index 48f5afe..649d4b2 100644 --- a/casic-service-person/src/main/java/com/casic/missiles/modular/system/service/IPersonAttendanceLogService.java +++ b/casic-service-person/src/main/java/com/casic/missiles/modular/system/service/IPersonAttendanceLogService.java @@ -28,4 +28,10 @@ * @return 返回结果 */ List selectDataScopePage(DataScope scope, Page page, EntityWrapper query); + + /** + * 保存用户考勤记录 + * @param account + */ + void saveUserLog(String account,Integer Long); } diff --git a/casic-service-person/src/main/java/com/casic/missiles/modular/handler/BizLogCheckHandler.java b/casic-service-person/src/main/java/com/casic/missiles/modular/handler/BizLogCheckHandler.java new file mode 100644 index 0000000..627c2f7 --- /dev/null +++ b/casic-service-person/src/main/java/com/casic/missiles/modular/handler/BizLogCheckHandler.java @@ -0,0 +1,48 @@ +package com.casic.missiles.modular.handler; + +import com.casic.missiles.core.common.service.ICommonPermissionService; +import com.casic.missiles.core.handler.BizCheckLoginHandler; +import com.casic.missiles.core.shiro.ShiroUser; +import com.casic.missiles.modular.staff.service.IStaffService; +import com.casic.missiles.modular.system.service.IPersonAttendanceLogService; +import lombok.Data; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.DependsOn; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 考勤记录 按每天首次登陆增加 + * + * @author lwh + */ +@Component +@Data +@DependsOn("loadDatabasePropertyConfig") +public class BizLogCheckHandler implements BizCheckLoginHandler { + @Value("${casic.attend.log.roleTips}") + private List roleTips; + @Value("${casic.attend.log.interval}") + private Integer interval; + private final ICommonPermissionService service; + private final IPersonAttendanceLogService personAttendanceLogService; + private static final Logger logger = LoggerFactory.getLogger(BizLogCheckHandler.class); + + public BizLogCheckHandler(ICommonPermissionService service, IPersonAttendanceLogService personAttendanceLogService) { + this.service = service; + this.personAttendanceLogService = personAttendanceLogService; + } + + @Override + public void checkUser(ShiroUser shiroUser, Boolean isApp) { + //校验当前登录用户 + if (isApp) { + // 增加业务人员打卡记录 + personAttendanceLogService.saveUserLog(shiroUser.getAccount(),interval); + } + } +} diff --git a/casic-service-person/src/main/java/com/casic/missiles/modular/staff/service/impl/StaffServiceImpl.java b/casic-service-person/src/main/java/com/casic/missiles/modular/staff/service/impl/StaffServiceImpl.java index 9bfec2d..fabd06a 100644 --- a/casic-service-person/src/main/java/com/casic/missiles/modular/staff/service/impl/StaffServiceImpl.java +++ b/casic-service-person/src/main/java/com/casic/missiles/modular/staff/service/impl/StaffServiceImpl.java @@ -95,6 +95,15 @@ if (ToolUtil.isNotEmpty(entity.getSex())) { user.setSex(new Integer(entity.getSex())); } + + try { + //设置生日 + String birthday = extractYearMonthDayOfIdCard(entity.getIdCard()); + user.setBirthday(DateUtil.parseDate(birthday)); + } catch (Exception e) { + e.printStackTrace(); + } + user.setPhone(entity.getTel()); user.setDeptid(entity.getDeptId()); //判断是否设置默认角色 diff --git a/casic-service-person/src/main/java/com/casic/missiles/modular/system/service/IPersonAttendanceLogService.java b/casic-service-person/src/main/java/com/casic/missiles/modular/system/service/IPersonAttendanceLogService.java index 48f5afe..649d4b2 100644 --- a/casic-service-person/src/main/java/com/casic/missiles/modular/system/service/IPersonAttendanceLogService.java +++ b/casic-service-person/src/main/java/com/casic/missiles/modular/system/service/IPersonAttendanceLogService.java @@ -28,4 +28,10 @@ * @return 返回结果 */ List selectDataScopePage(DataScope scope, Page page, EntityWrapper query); + + /** + * 保存用户考勤记录 + * @param account + */ + void saveUserLog(String account,Integer Long); } diff --git a/casic-service-person/src/main/java/com/casic/missiles/modular/system/service/impl/PersonAttendanceLogServiceImpl.java b/casic-service-person/src/main/java/com/casic/missiles/modular/system/service/impl/PersonAttendanceLogServiceImpl.java index eeeaf3e..702bbd6 100644 --- a/casic-service-person/src/main/java/com/casic/missiles/modular/system/service/impl/PersonAttendanceLogServiceImpl.java +++ b/casic-service-person/src/main/java/com/casic/missiles/modular/system/service/impl/PersonAttendanceLogServiceImpl.java @@ -6,6 +6,8 @@ import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.staff.model.Staff; +import com.casic.missiles.modular.staff.service.IStaffService; import com.casic.missiles.modular.system.dao.PersonAttendanceLogMapper; import com.casic.missiles.modular.system.dto.PersonAttendDTO; import com.casic.missiles.modular.system.model.PersonAttendanceLog; @@ -14,6 +16,8 @@ import org.springframework.stereotype.Service; import java.util.Arrays; +import java.util.Calendar; +import java.util.Date; import java.util.List; /** @@ -28,6 +32,8 @@ public class PersonAttendanceLogServiceImpl extends ServiceImpl implements IPersonAttendanceLogService { @Autowired private ICommonPermissionService permissionService; + @Autowired + private IStaffService staffService; /** * 人员考勤分页查询 @@ -54,6 +60,34 @@ } @Override + public void saveUserLog(String account, Integer second) { + //1.查询人员信息 + EntityWrapper wrapper = new EntityWrapper(); + wrapper.eq("TEL", account); + wrapper.eq("DEL_FLAG", "0"); + Staff staff = staffService.selectOne(wrapper); + if (staff != null) { + //2.查询是否包含间隔时间段内的考勤,如果有则不保存 + Calendar calender = Calendar.getInstance(); + calender.add(Calendar.SECOND, -1 * second); + EntityWrapper query = new EntityWrapper(); + query.le("CREATE_TIME", calender.getTime()); + Integer count = this.selectCount(query); + + if (count == 0) { + PersonAttendanceLog log = new PersonAttendanceLog(); + log.setPersonId(staff.getId()); + log.setOnJobTime(new Date()); + log.setCreateTime(log.getOnJobTime()); + log.setStatus("0"); + log.setUpdateTime(log.getUpdateTime()); + this.insert(log); + } + } + + } + + @Override public boolean insert(PersonAttendanceLog entity) { //人员添加自动增加用户信息 return super.insert(entity);