diff --git a/yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java b/yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java index 26f2e746..e3826781 100644 --- a/yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java +++ b/yudao-framework/yudao-spring-boot-starter-biz-data-permission/src/main/java/cn/iocoder/yudao/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java @@ -63,7 +63,8 @@ public class DeptDataPermissionRule implements DataPermissionRule { "work_log_statistics", "work_log_instance_ext", "bpm_oa_work_task", - "zc_dept_assets" + "zc_dept_assets", + "zc_dept_assets_in_out_stock" ); /** diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsSecondmentRecordRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsSecondmentRecordRespVO.java index 7d8c9fca..02ea3f5c 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsSecondmentRecordRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/assets/vo/AssetsSecondmentRecordRespVO.java @@ -24,6 +24,10 @@ public class AssetsSecondmentRecordRespVO { @ExcelProperty("资产名称") private String assetsName; + @Schema(description = "资产编号", example = "13886") + @ExcelProperty("资产编号") + private String assetsNo; + @Schema(description = "使用人id", example = "12905") @ExcelProperty("使用人id") private Long useUserId; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/vo/AttendanceExportExcelByCycleVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/vo/AttendanceExportExcelByCycleVO.java new file mode 100644 index 00000000..e0524e9e --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/attendance/vo/AttendanceExportExcelByCycleVO.java @@ -0,0 +1,53 @@ +package cn.iocoder.yudao.module.system.controller.admin.attendance.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class AttendanceExportExcelByCycleVO { + @Schema(description = "用户名称") + private String name; + @Schema(description = "考勤组名称") + private String groupName; + @Schema(description = "部门名称") + private String deptName; + @Schema(description = "职位名称") + private String postName; + @Schema(description = "出勤天数") + private String attendanceDays; + @Schema(description = "休息天数") + private String restDays; + @Schema(description = "工作时长") + private String lengthOfWork; + @Schema(description = "迟到次数") + private String lateNum; + @Schema(description = "迟到时长") + private String lateTime; + @Schema(description = "早退次数") + private String leaveEarlyNum; + @Schema(description = "早退时长") + private String leaveEarlyTime; + @Schema(description = "上班缺卡次数") + private String upMissingCardsNum; + @Schema(description = "下班缺卡次数") + private String downMissingCardsNum; + @Schema(description = "旷工天数") + private String absenteeismNum; +// @Schema(description = "出差时长") +// private String onBusinessTripTime; +// @Schema(description = "加班-审批单统计") +// private String overtimeApprovalOrderStatistics; + + + @Data + public class OvertimeVO { + @Schema(description = "工作日加班") + private String workingOvertimeOnWorkingDays; + @Schema(description = "休息日加班") + private String workOvertimeOnRestDays; + @Schema(description = "节假日加班") + private String workOvertimeOnHolidays; + } +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSimpleRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSimpleRespVO.java index c9e174dd..ef8d4753 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSimpleRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSimpleRespVO.java @@ -13,4 +13,6 @@ public class RoleSimpleRespVO { @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道") private String name; + @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "admin") + private String code; } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/punchrecord/vo/AttendancePunchRecordSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/punchrecord/vo/AttendancePunchRecordSaveReqVO.java index 2fc30ad9..8641c9ae 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/punchrecord/vo/AttendancePunchRecordSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/punchrecord/vo/AttendancePunchRecordSaveReqVO.java @@ -78,6 +78,9 @@ public class AttendancePunchRecordSaveReqVO { @Schema(description = "早退时长时间戳") private Long leaveEarlyTime; + @Schema(description = "加班时长时间戳") + private Long workOvertimeTime; + /** * 打卡类型(0上班卡 1下班卡 2迟到卡 3早退卡 4未到打卡时间) 转 打卡状态 0正常 1迟到 2早退 3缺卡 4未打卡(还没到打卡时间) 5补卡 diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.java index 7d66a2d2..69c5a452 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.java @@ -3,7 +3,9 @@ package cn.iocoder.yudao.module.system.controller.admin.user; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission; +import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleSimpleRespVO; import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileRespVO; import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO; import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; @@ -73,6 +75,18 @@ public class UserProfileController { return success(UserConvert.INSTANCE.convert(user, userRoles, dept, posts, socialUsers)); } + @GetMapping("/getRoles") + @Operation(summary = "获得登录用户角色信息") + @DataPermission(enable = false) // 关闭数据权限,避免只查看自己时,查询不到部门。 + public CommonResult> getRoles() { + // 获得用户基本信息 + AdminUserDO user = userService.getUser(getLoginUserId()); + // 获得用户角色 + List userRoles = roleService.getRoleListFromCache(permissionService.getUserRoleIdListByUserId(user.getId())); + List bean = BeanUtils.toBean(userRoles, RoleSimpleRespVO.class); + return success(bean); + } + @PutMapping("/update") @Operation(summary = "修改用户个人信息") public CommonResult updateUserProfile(@Valid @RequestBody UserProfileUpdateReqVO reqVO) { diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/punchrecord/AttendancePunchRecordDO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/punchrecord/AttendancePunchRecordDO.java index fb868541..0d23e1f3 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/punchrecord/AttendancePunchRecordDO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/attendance/punchrecord/AttendancePunchRecordDO.java @@ -125,6 +125,11 @@ public class AttendancePunchRecordDO extends BaseDO { */ private Long leaveEarlyTime; + /** + * 加班时长时间戳 + */ + private Long workOvertimeTime; + /** * 是否已提醒 0否 1是 */ diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/attendance/RemindJob.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/attendance/RemindJob.java index dd76e053..368fa265 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/attendance/RemindJob.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/job/attendance/RemindJob.java @@ -63,7 +63,7 @@ public class RemindJob { if (attendancePunchRecordDO.getWorkType().equals(Constants.ZERO) && futureTime.isAfter(attendancePunchRecordDO.getShouldPunchTime())) { AttendanceWorkDTO dto = new AttendanceWorkDTO(); dto.setWorkTypeStr("上班打卡"); - dto.setData(String.format("还有%s分钟就要上班了,别忘记打卡哦~", + dto.setData(String.format("还有%s钟就要上班了,别忘记打卡哦~", DateUtil.formatBetween(LocalDateTimeUtil.between(localDateTime, attendancePunchRecordDO.getShouldPunchTime()).toMillis(), BetweenFormatter.Level.MINUTE))); map.put(attendancePunchRecordDO.getUserId(), dto); attendancePunchRecordDO.setRemindFlag(Constants.TRUE); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java index 65f96213..1d45d895 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/attendance/AttendanceServiceImpl.java @@ -163,6 +163,7 @@ public class AttendanceServiceImpl implements AttendanceService { //取绝对值 如果status是负数则变为正数 .setLateTime(Constants.ONE.equals(status) ? Math.abs(LocalDateTimeUtil.between(dto.getLocalDateTime(), pageVO.getShouldPunchTime(), ChronoUnit.MILLIS)) : 0L) .setLeaveEarlyTime(Constants.TWO.equals(status) ? Math.abs(LocalDateTimeUtil.between(dto.getLocalDateTime(), pageVO.getShouldPunchTime(), ChronoUnit.MILLIS)) : 0L) + .setWorkOvertimeTime(Constants.ZERO.equals(status) && Constants.ONE.equals(pageVO.getPunchType()) ? Math.abs(LocalDateTimeUtil.between(dto.getLocalDateTime(), pageVO.getShouldPunchTime(), ChronoUnit.MILLIS)) : 0L) .setRemark(dto.getRemark()) .setImage(dto.getImage()) .setPunchAddress(dto.getPunchAddress()); @@ -760,10 +761,6 @@ public class AttendanceServiceImpl implements AttendanceService { @Override public void exportAttendanceExcel(HttpServletResponse response, ExportAttendanceExcelDTO dto) { - // 导出 Excel -// ExcelUtils.write(response, "考勤组人员.xls", "数据", AttendanceGroupUserRespVO.class, -// BeanUtils.toBean(list, AttendanceGroupUserRespVO.class)); - } /** diff --git a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/assets/AssetsSecondmentRecordMapper.xml b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/assets/AssetsSecondmentRecordMapper.xml index 2758667b..59d7729e 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/assets/AssetsSecondmentRecordMapper.xml +++ b/yudao-module-system/yudao-module-system-biz/src/main/resources/mapper/assets/AssetsSecondmentRecordMapper.xml @@ -14,6 +14,7 @@ SELECT a.id, a.assets_id, b.name as assetsName, + b.assets_no as assetsNo, a.use_user_id, c.nickname as useUserName, a.use_dept_id, @@ -36,6 +37,7 @@ left join system_users as d on a.principal_user_id = d.id left join system_dept as e on a.use_dept_id = e.id + a.deleted = 0 and a.use_user_id = #{vo.useUserId} @@ -65,7 +67,7 @@ and a.create_time <= #{vo.createTime[1]} - order by a.create_time desc + order by a.create_time desc \ No newline at end of file