From 5d82ee93d186490b6405f80d08b0cb426255d923 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E4=BA=AE?= Date: Fri, 30 Jan 2026 16:03:35 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E6=B5=8B=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WorkerRepairCardController.java | 40 ++++++++++++++++++- .../system/att/entity/RepairCardBean.java | 7 +++- .../service/WorkerRepairCardServiceImpl.java | 12 +++--- .../mapper/att/AttSourceDataMapper.xml | 2 +- .../mapper/att/WorkerReapirCardMapper.xml | 26 ++++++++++-- 5 files changed, 76 insertions(+), 11 deletions(-) diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/controller/WorkerRepairCardController.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/controller/WorkerRepairCardController.java index 3114444..447b2a8 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/controller/WorkerRepairCardController.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/controller/WorkerRepairCardController.java @@ -7,13 +7,17 @@ import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.log.annotation.Log; import com.bonus.common.log.enums.BusinessType; 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.entity.RepairCardBean; import com.bonus.system.att.service.WorkerRepairCardService; +import com.bonus.system.basic.dao.SysOrgDao; +import com.bonus.system.dept.dao.ProDeptRoleDao; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.util.ArrayList; +import java.util.*; /** * 组织架构变更 @@ -28,6 +32,12 @@ public class WorkerRepairCardController extends BaseController { @Resource(name = "WorkerRepairCardService") private WorkerRepairCardService service; + @Resource(name = "ProDeptRoleDao") + private ProDeptRoleDao proDeptRoleDao; + + @Resource + private SysOrgDao sysOrgDao; + /** * 查询补卡列表 * @@ -58,6 +68,34 @@ public class WorkerRepairCardController extends BaseController { @Log(title = "考勤设置->组织架构变更->列表查询人资", businessType = BusinessType.QUERY) public TableDataInfo getAllList(RepairCardBean bean) { try{ + + SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); + List roleId = sysUser.getRoleList(); + //管理员与人资角色可以看到所有 + if (roleId != null && !roleId.isEmpty()) { + if (Collections.frequency(roleId, "1") == 0 && Collections.frequency(roleId, "16") == 0) { + // 根据用户id查询是否是管理员或帮忙负责人 + Long userId = SecurityUtils.getUserId(); + List orgList = sysOrgDao.getOrgIdList(userId); + if (!orgList.isEmpty()) { + // 使用 LinkedHashSet 来保证顺序并自动去重 + Set idsSet = new LinkedHashSet<>(); + for (MapVo mapVo : orgList) { + String id = proDeptRoleDao.getOrgChildById(mapVo.getId()); + if (id != null && !id.trim().isEmpty()) { // 防止空或仅含空白字符的字符串 + // 将分割后的数组添加到 Set 中,自动去重 + Collections.addAll(idsSet, id.split(",")); + } + } + // 如果需要转换回 List 类型 + List uniqueIds = new ArrayList<>(idsSet); + bean.setOrgList(uniqueIds); + } else { + bean.setUserId(userId); + } + } + } + startPage(); return getDataTable(service.selectRepairCardList(bean)); }catch (Exception e){ diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/RepairCardBean.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/RepairCardBean.java index 816abd7..a8e3eba 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/RepairCardBean.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/entity/RepairCardBean.java @@ -4,6 +4,8 @@ import cn.afterturn.easypoi.excel.annotation.Excel; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.List; + /** * 补卡实体类 * @author fly @@ -59,8 +61,11 @@ public class RepairCardBean { private Integer attType; /** - * 部门 + * 是否有效 */ private Integer isActive; + /** 部门列表 */ + private List orgList; + } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/WorkerRepairCardServiceImpl.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/WorkerRepairCardServiceImpl.java index b935462..66298ac 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/WorkerRepairCardServiceImpl.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/att/service/WorkerRepairCardServiceImpl.java @@ -53,6 +53,8 @@ public class WorkerRepairCardServiceImpl implements WorkerRepairCardService { @Override public AjaxResult delRepairCard(RepairCardBean bean) { + List repairCardBeans = dao.selectRepairCardList(bean); + bean = repairCardBeans.get(0); if(bean.getAttType() == 1){ bean.setCurrentTime(bean.getCurrentDay() + " 06:00:00"); }else if(bean.getAttType() == 2){ @@ -60,11 +62,11 @@ public class WorkerRepairCardServiceImpl implements WorkerRepairCardService { } int i = dao.delAttSourceData(bean); int k = dao.delRepairCard(bean); - if(k<=0){ - return AjaxResult.error("删除补卡失败"); - }else { - return AjaxResult.success(); - } + if(k<=0){ + return AjaxResult.error("删除补卡失败"); + }else { + return AjaxResult.success(); + } } @Override diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttSourceDataMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttSourceDataMapper.xml index 21c6e85..a481a06 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/att/AttSourceDataMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/att/AttSourceDataMapper.xml @@ -341,7 +341,7 @@ FROM (SELECT * FROM att_source_data WHERE att_current_day = #{pushDate} - AND data_source IN (2, 3) + AND data_source IN (2, 3, 4) AND (att_type = 1 OR att_type = 2)) asd LEFT JOIN sys_user su ON su.user_name = asd. NAME diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/att/WorkerReapirCardMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/att/WorkerReapirCardMapper.xml index 43603f7..3720f08 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/att/WorkerReapirCardMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/att/WorkerReapirCardMapper.xml @@ -11,15 +11,31 @@ and user_id = #{userId} + + and id = #{id} + + + and user_name = #{userName} + + + and org_id = #{orgId} + + + and org_id in ( + + #{item} + + ) + - insert into att_reapir_card(user_id,user_name,id_number,org_id,org_name,current_day,att_type) + insert into att_reapir_card(user_id,user_name,org_id,org_name,id_number,current_day,att_type) values(#{userId},#{userName},#{orgId},#{orgName},#{idNumber},#{currentDay},#{attType}) - update att_reapir_card set is_active = 0 where id = #{id} + update att_reapir_card set is_active = 0 where id = #{id};