From d5757a7e05501c935aba7cde77e88328a17cadfb Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Tue, 18 Feb 2025 14:04:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=93=E5=A4=A9=E6=96=B0=E5=A2=9E=E4=BA=BA?= =?UTF-8?q?=E5=91=98-=E7=94=9F=E6=88=90=E5=BD=93=E5=A4=A9=E8=80=83?= =?UTF-8?q?=E5=8B=A4=E6=A8=A1=E6=9D=BF=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/system/att/dao/AttGroupDao.java | 31 +++++++++++-- .../bonus/system/att/entity/AttGroupBean.java | 3 -- .../att/service/AttGroupServiceImpl.java | 44 ++++++++++++++----- .../resources/mapper/att/AttGroupMapper.xml | 24 ++++++++++ 4 files changed, 86 insertions(+), 16 deletions(-) diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttGroupDao.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttGroupDao.java index 1718fbf..2481054 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttGroupDao.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttGroupDao.java @@ -1,5 +1,6 @@ package com.bonus.system.att.dao; +import com.bonus.system.att.entity.AttDataBean; import com.bonus.system.att.entity.AttGroupBean; import com.bonus.system.att.entity.AttGroupCheckOrgBean; import com.bonus.system.basic.domain.SysTree; @@ -11,6 +12,7 @@ import java.util.List; /** * 考勤组-数据访问层 + * * @author zys */ @Repository("attGroupDao") @@ -18,6 +20,7 @@ public interface AttGroupDao { /** * 获取考勤组列表 + * * @param bean 参数 * @return list bean */ @@ -25,12 +28,14 @@ public interface AttGroupDao { /** * 查询组织选择列表 + * * @return list bean */ List selectOrgList(); /** * 删除考勤组 + * * @param groupId 考勤组编号 * @return 1|0 */ @@ -38,6 +43,7 @@ public interface AttGroupDao { /** * 上传考勤组表 + * * @param bean 参数 * @return 1|0 */ @@ -45,6 +51,7 @@ public interface AttGroupDao { /** * 上传考勤组设置表 + * * @param bean 参数 * @return 1|0 */ @@ -52,6 +59,7 @@ public interface AttGroupDao { /** * 上传考勤人员绑定表 + * * @param checkOrgList 参数 * @return 1|0 */ @@ -59,6 +67,7 @@ public interface AttGroupDao { /** * 根据考勤组编号获取详细信息 + * * @param groupId 考勤组编号 * @return bean */ @@ -66,6 +75,7 @@ public interface AttGroupDao { /** * 根据考勤组编号获取人员绑定情况 + * * @param groupId 考勤组编号 * @return list bean */ @@ -73,6 +83,7 @@ public interface AttGroupDao { /** * 删除考勤组绑定人员 + * * @param groupId 考勤组编号 */ void deleteAttGroupRelationPerson(Long groupId); @@ -81,6 +92,7 @@ public interface AttGroupDao { /** * 修改考勤组 + * * @param bean 参数 * @return 1|0 */ @@ -88,6 +100,7 @@ public interface AttGroupDao { /** * 修改考勤组设置表 + * * @param bean 参数 * @return 1|0 */ @@ -95,6 +108,7 @@ public interface AttGroupDao { /** * 查询人员是否绑定考勤组 + * * @param id 用户编号 * @return 1|0 */ @@ -102,16 +116,27 @@ public interface AttGroupDao { /** * 查询出可选中人员 + * * @return list bean */ List getAttGroupCheckPerson(Long groupId); /** - * * 根据组织编号获取人员 - * @param idList 组织编号 + * + * @param idList 组织编号 * @param groupId 考勤组(当前考情组) * @return list bean */ - List getUserByOrg(@Param("idList")ArrayList idList, @Param("groupId")Long groupId); + List getUserByOrg(@Param("idList") ArrayList idList, @Param("groupId") Long groupId); + + /** + * 根据人员ID查询组织机构 + * @param bean + * @param addList + * @return List + * @author cwchen + * @date 2025/2/18 13:49 + */ + List getUserInfo(@Param("params") AttGroupBean bean, @Param("list") List addList); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttGroupBean.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttGroupBean.java index 5612dca..40453e0 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttGroupBean.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttGroupBean.java @@ -145,9 +145,6 @@ public class AttGroupBean { */ private String currentDay; - /**是否有法定节假日*/ - private Integer isHaveHoliday; - public AttGroupBean(Long groupId, String attDay, String toWorkTime, String offWorkTime, Long todayClockNum, Long lateMinute, Long leaveMinute, Long absenteeismLateMinute, Long absenteeismLeaveMinute, diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttGroupServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttGroupServiceImpl.java index 3088311..b2599ca 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttGroupServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttGroupServiceImpl.java @@ -1,10 +1,12 @@ package com.bonus.system.att.service; import com.bonus.common.core.constant.Constants; +import com.bonus.common.core.utils.DateTimeHelper; import com.bonus.common.core.utils.bean.BeanUtils; import com.bonus.common.security.utils.SecurityUtils; import com.bonus.system.att.dao.AttGroupDao; import com.bonus.system.att.dao.AttSourceDataDao; +import com.bonus.system.att.entity.AttDataBean; import com.bonus.system.att.entity.AttGroupBean; import com.bonus.system.att.entity.AttGroupCheckOrgBean; import com.bonus.system.att.utils.TreeUtils; @@ -61,7 +63,7 @@ public class AttGroupServiceImpl implements AttGroupService { bean.setCreateUserId(SecurityUtils.getLoginUser().getSysUser().getUserId()); //只有部门的将部门变成部门下所有人(去除掉其他考勤组选的人) List checkOrgAllList = dealWithOrgUser(bean, null); - if(checkOrgAllList.isEmpty()){ + if (checkOrgAllList.isEmpty()) { return -1; } //新增考勤组表 @@ -75,6 +77,7 @@ public class AttGroupServiceImpl implements AttGroupService { checkOrgAllList.get(k).setGroupId(bean.getGroupId()); } int x = attGroupDao.insertAttGroupPerson(checkOrgAllList); + addAttData(bean, checkOrgAllList); if (j > 0 && (x == checkOrgAllList.size())) { result = 1; } @@ -102,7 +105,7 @@ public class AttGroupServiceImpl implements AttGroupService { int result = 0; bean.setUpdateUserId(SecurityUtils.getLoginUser().getSysUser().getUserId()); List checkOrgAllList = dealWithOrgUser(bean, null); - if(checkOrgAllList.isEmpty()){ + if (checkOrgAllList.isEmpty()) { return -1; } //新增考勤组表 @@ -134,20 +137,41 @@ public class AttGroupServiceImpl implements AttGroupService { if (!addList.isEmpty()) { //添加考勤组绑定人员 attGroupDao.insertAttGroupPerson(addList); - // 新增的人员 生成当天的考勤模板 - List list = new ArrayList<>(); - for (AttGroupCheckOrgBean attGroupCheckOrgBean : addList) { - AttGroupBean groupBean = new AttGroupBean(); - BeanUtils.copyProperties(attGroupCheckOrgBean, groupBean); - list.add(groupBean); - } - attSourceDataDao.insertAttSettingHistoryData(list); + addAttData(bean, addList); } return 1; } return result; } + /** + * 新增的人员 生成当天的考勤模板/与考勤规则进行绑定 + * + * @param bean + * @param addList + * @return void + * @author cwchen + * @date 2025/2/18 13:56 + */ + public void addAttData(AttGroupBean bean, List addList) { + // 新增的人员 生成当天的考勤模板/与考勤规则进行绑定 + List list = new ArrayList<>(); + List listPerson = new ArrayList<>(); + for (AttGroupCheckOrgBean attGroupCheckOrgBean : addList) { + AttGroupBean groupBean = new AttGroupBean(); + groupBean.setGroupId(attGroupCheckOrgBean.getGroupId()); + groupBean.setUserId(Long.parseLong(attGroupCheckOrgBean.getUserId())); + groupBean.setCurrentDay(DateTimeHelper.getNowDate()); + list.add(groupBean); + } + // 新增人员考勤模板数据 + attSourceDataDao.insertAttSettingHistoryData(list); + // 查询人员组织机构ID + listPerson = attGroupDao.getUserInfo(bean, addList); + // 新增人员考勤规则 + attSourceDataDao.insertAttDataList(listPerson); + } + public Map> compareByUserId( List list1, List list2) { diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttGroupMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttGroupMapper.xml index 5cb3251..1326b69 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttGroupMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttGroupMapper.xml @@ -98,6 +98,30 @@ -- AND agpr.user_id IS NULL + + update att_group