diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/controller/AttendanceDetailsController.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/controller/AttendanceDetailsController.java index 46cc12c..e8883b0 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/controller/AttendanceDetailsController.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/controller/AttendanceDetailsController.java @@ -256,6 +256,19 @@ public class AttendanceDetailsController extends BaseController { return getDataTableError(new ArrayList<>()); } + @RequiresPermissions("att:public:list") + @GetMapping("/getOutCountList") + @Log(title = "考勤报表->考情明细->打卡次数记录", businessType = BusinessType.QUERY) + public TableDataInfo getAttCountList(AttDataDetailsBean bean) { + try{ + startPage(); + return getDataTable(attendanceDetailsService.getAttCountList(bean)); + }catch (Exception e){ + log.error(e.toString(),e); + } + return getDataTableError(new ArrayList<>()); + } + /** * 用户新增 */ diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttendanceDetailsDao.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttendanceDetailsDao.java index 2d3e5da..aab4364 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttendanceDetailsDao.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/dao/AttendanceDetailsDao.java @@ -88,4 +88,6 @@ public interface AttendanceDetailsDao { List getAttDayList(AttDataDetailsBean bean); List getAttDayReportDetailsListData(AttDataDetailsBean bean); + + List getAttCountList(AttDataDetailsBean bean); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDataDetailsBean.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDataDetailsBean.java index 637edde..ba9d2b8 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDataDetailsBean.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/AttDataDetailsBean.java @@ -199,6 +199,9 @@ public class AttDataDetailsBean { /** 上班时间外出次数 */ private Integer outCount; + /** 打卡次数 */ + private Integer attCount; + /** * 角色类型 1:人资专员和管理员;2:部门考勤员,部门负责人 3:普通人员 */ diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsService.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsService.java index d4469cd..0be31f7 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsService.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsService.java @@ -103,4 +103,6 @@ public interface AttendanceDetailsService { AjaxResult synchronous(AttDataDetailsBean bean); List getAttDayList(AttDataDetailsBean bean); + + List getAttCountList(AttDataDetailsBean bean); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsServiceImpl.java index 8ea6df2..13d96cf 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/AttendanceDetailsServiceImpl.java @@ -5,6 +5,7 @@ import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; import com.bonus.system.api.domain.MapVo; +import com.bonus.system.api.domain.SysUser; import com.bonus.system.att.dao.AttendanceDetailsDao; import com.bonus.system.att.entity.AttDataDetailsBean; import com.bonus.system.att.entity.AttDayReportBean; @@ -111,16 +112,17 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService { @Override public List selectAttUpdateList(AttDataDetailsBean bean) { //只能查自己分公司的人 - List orgList = SecurityUtils.getLoginUser().getSysUser().getOrgList(); - if(!orgList.isEmpty()){ - ArrayList ids = new ArrayList<>(); - for (MapVo mapVo : orgList) { - String id = proDeptRoleDao.getOrgChildById(mapVo.getId()); - // 使用 Arrays.asList() 将数组转换为 ArrayList - ArrayList idList = new ArrayList<>(Arrays.asList(id.split(","))); - ids.addAll(idList); + SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); + List roleId = sysUser.getRoleList(); + if (Collections.frequency(roleId, 1L)==0) { + List orgList = SecurityUtils.getLoginUser().getSysUser().getOrgList(); + if(!orgList.isEmpty()){ + ArrayList ids = new ArrayList<>(); + for (MapVo mapVo : orgList) { + ids.add(String.valueOf(mapVo.getId())); + } + bean.setOrgList(ids); } - bean.setOrgList(ids); } return attendanceDetailsDao.selectAttUpdateList(bean); } @@ -193,6 +195,11 @@ public class AttendanceDetailsServiceImpl implements AttendanceDetailsService { return attendanceDetailsDao.getAttDayList(bean); } + @Override + public List getAttCountList(AttDataDetailsBean bean) { + return attendanceDetailsDao.getAttCountList(bean); + } + public List getAttDayReportListAll(List list) { List allList = new ArrayList<>(); Map map = list.stream() diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/dao/SysOrgDao.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/dao/SysOrgDao.java index 779e120..e382b8c 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/dao/SysOrgDao.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/dao/SysOrgDao.java @@ -21,10 +21,10 @@ public interface SysOrgDao { /** * 查询组织列表 * - * @param sysOrg 组织信息 + * @param bean 组织信息 * @return 菜单列表 */ - List selectOrgList(SysOrg sysOrg); + List selectOrgList(@Param("bean") SysOrg bean); /** * 根据组织编号获取详细信息 diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/domain/SysOrg.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/domain/SysOrg.java index 6cde71a..aa78883 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/domain/SysOrg.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/domain/SysOrg.java @@ -105,4 +105,10 @@ public class SysOrg { * */ private String idNumber; + + /** + * 自己项目部所在分公司下的所有项目部id + */ + private List orgList; + } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/service/impl/SysOrgServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/service/impl/SysOrgServiceImpl.java index 065a59a..59b72f9 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/service/impl/SysOrgServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/basic/service/impl/SysOrgServiceImpl.java @@ -10,6 +10,8 @@ import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; import com.bonus.common.security.utils.ValidatorsUtils; +import com.bonus.system.api.domain.MapVo; +import com.bonus.system.api.domain.SysUser; import com.bonus.system.att.utils.AddressCoordinateFormatUtil; import com.bonus.system.att.utils.TreeUtils; import com.bonus.system.basic.dao.SysOrgDao; @@ -61,6 +63,19 @@ public class SysOrgServiceImpl implements SysOrgService { @Override public List selectOrgList(SysOrg sysOrg) { + SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); + List roleId = sysUser.getRoleList(); + //管理员与人资角色可以看到所有 + if (Collections.frequency(roleId, 1L)==0 && Collections.frequency(roleId, 16L)==0) { + List orgList = sysUser.getOrgList(); + if (!orgList.isEmpty()) { + ArrayList ids = new ArrayList<>(); + for (MapVo mapVo : orgList) { + ids.add(String.valueOf(mapVo.getId())); + } + sysOrg.setOrgList(ids); + } + } return orgDao.selectOrgList(sysOrg); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/dept/service/ProDeptRoleServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/dept/service/ProDeptRoleServiceImpl.java index fa07b43..2b541b8 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/dept/service/ProDeptRoleServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/dept/service/ProDeptRoleServiceImpl.java @@ -43,18 +43,12 @@ public class ProDeptRoleServiceImpl implements ProDeptRoleService { //只能查自己分公司的人 SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); List roleId = sysUser.getRoleList(); - if (Collections.frequency(roleId, 1L)>0) { + if (Collections.frequency(roleId, 1L)==0) { List orgList = sysUser.getOrgList(); if (!orgList.isEmpty()) { ArrayList ids = new ArrayList<>(); for (MapVo mapVo : orgList) { -// Long orgId = proDeptRoleDao.getParentOrgById(mapVo); -// String id = proDeptRoleDao.getOrgChildById(orgId); -// // 使用 Arrays.asList() 将数组转换为 ArrayList -// ArrayList idList = new ArrayList<>(Arrays.asList(id.split(","))); -// ids.addAll(idList); ids.add(String.valueOf(mapVo.getId())); - } bean.setOrgList(ids); } @@ -67,7 +61,7 @@ public class ProDeptRoleServiceImpl implements ProDeptRoleService { //只能查自己分公司的人 SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); List roleId = sysUser.getRoleList(); - if (Collections.frequency(roleId, 1L)>0) { + if (Collections.frequency(roleId, 1L) == 0) { List orgList = sysUser.getOrgList(); if (!orgList.isEmpty()) { ArrayList ids = new ArrayList<>(); diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/dept/service/SubOrgServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/dept/service/SubOrgServiceImpl.java index d988537..230372c 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/dept/service/SubOrgServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/dept/service/SubOrgServiceImpl.java @@ -4,6 +4,7 @@ import com.bonus.common.core.constant.UserConstants; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.security.utils.SecurityUtils; import com.bonus.system.api.domain.MapVo; +import com.bonus.system.api.domain.SysUser; import com.bonus.system.att.utils.AddressCoordinateFormatUtil; import com.bonus.system.basic.dao.SysOrgDao; import com.bonus.system.basic.domain.SysNotice; @@ -18,10 +19,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -53,16 +51,17 @@ public class SubOrgServiceImpl implements SubOrgService { @Override public List selectSubOrgList(SubOrgBean subOrgBean) { //只能查自己分公司的人 - List orgList = SecurityUtils.getLoginUser().getSysUser().getOrgList(); - if(!orgList.isEmpty()){ - ArrayList ids = new ArrayList<>(); - for (MapVo mapVo : orgList) { - String id = proDeptRoleDao.getOrgChildById(mapVo.getId()); - // 使用 Arrays.asList() 将数组转换为 ArrayList - ArrayList idList = new ArrayList<>(Arrays.asList(id.split(","))); - ids.addAll(idList); + SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); + List roleId = sysUser.getRoleList(); + if (Collections.frequency(roleId, 1L)==0) { + List orgList = SecurityUtils.getLoginUser().getSysUser().getOrgList(); + if (!orgList.isEmpty()) { + ArrayList ids = new ArrayList<>(); + for (MapVo mapVo : orgList) { + ids.add(String.valueOf(mapVo.getId())); + } + subOrgBean.setOrgList(ids); } - subOrgBean.setOrgList(ids); } return orgDao.selectOrgList(subOrgBean); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/service/HolidayServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/service/HolidayServiceImpl.java index c3f1c52..f9c0f9b 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/service/HolidayServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/service/HolidayServiceImpl.java @@ -62,13 +62,17 @@ public class HolidayServiceImpl implements HolidayService { @Override public List getHolidayListCheck(HolidayBean bean) { //只能查自己部门的人 - List orgList = SecurityUtils.getLoginUser().getSysUser().getOrgList(); - if(!orgList.isEmpty()){ - ArrayList ids = new ArrayList<>(); - for (MapVo mapVo : orgList) { - ids.add(String.valueOf(mapVo.getId())); + SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); + List roleId = sysUser.getRoleList(); + if (Collections.frequency(roleId, 1L)==0) { + List orgList = SecurityUtils.getLoginUser().getSysUser().getOrgList(); + if (!orgList.isEmpty()) { + ArrayList ids = new ArrayList<>(); + for (MapVo mapVo : orgList) { + ids.add(String.valueOf(mapVo.getId())); + } + bean.setOrgList(ids); } - bean.setOrgList(ids); } return holidayDao.getHolidayList(bean); } diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttendanceDetailsMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttendanceDetailsMapper.xml index fd6e126..fb12a32 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttendanceDetailsMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttendanceDetailsMapper.xml @@ -5,11 +5,14 @@ + diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/basic/SysOrgDao.xml b/bonus-modules/bonus-system/src/main/resources/mapper/basic/SysOrgDao.xml index b412c2e..2a13032 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/basic/SysOrgDao.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/basic/SysOrgDao.xml @@ -16,11 +16,18 @@ GROUP BY o.id ) a where 1=1 - - AND a.org_name like concat('%', #{orgName}, '%') + + AND a.org_name like concat('%', #{bean.orgName}, '%') - - AND a.orgHeadUserName like concat('%', #{orgHeadUserName}, '%') + + AND a.orgHeadUserName like concat('%', #{bean.orgHeadUserName}, '%') + + + and a.id in ( + + #{item} + + ) diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/holiday/HolidayMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/holiday/HolidayMapper.xml index 0496cbb..003d90c 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/holiday/HolidayMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/holiday/HolidayMapper.xml @@ -63,53 +63,54 @@