From 337e76da521f09bc8db8f599667a408d8975158a Mon Sep 17 00:00:00 2001 From: qinyulong Date: Tue, 13 Jan 2026 16:03:46 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=B2=97=E4=BD=8D?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=AF=BC=E5=87=BA=E7=89=B9=E6=AE=8A=E5=A4=84?= =?UTF-8?q?=E7=90=86+=E5=AE=9A=E6=97=B6=E6=9B=B4=E6=96=B0=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E7=BB=B4=E6=8A=A4=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/excel/PostHandleExcel.java | 21 +++++++------------ .../jobTransfer/pojo/vo/PostHandleVO.java | 12 +++++++---- .../EquipmentMaintenanceController.java | 16 ++++++++++++++ .../controller/PostHandleController.java | 20 +++++++++++++----- .../mapper/EquipmentMaintenanceMapper.java | 3 +++ .../service/IEquipmentMaintenanceService.java | 10 +++++++++ .../impl/EquipmentMaintenanceServiceImpl.java | 5 +++++ 7 files changed, 64 insertions(+), 23 deletions(-) diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleExcel.java index f022c9fc..16e65d16 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleExcel.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleExcel.java @@ -29,13 +29,6 @@ public class PostHandleExcel implements Serializable { @Serial private static final long serialVersionUID = 1L; - - /** - * 用户ID - */ - @ColumnWidth(20) - @ExcelProperty("用户ID") - private Long userId; /** * 名称 */ @@ -70,8 +63,8 @@ public class PostHandleExcel implements Serializable { * 班组ID */ @ColumnWidth(20) - @ExcelProperty("班组ID") - private Long deptId; + @ExcelProperty("班组") + private String deptName; /** * 所属岗位 */ @@ -95,7 +88,7 @@ public class PostHandleExcel implements Serializable { */ @ColumnWidth(20) @ExcelProperty("婚姻状态(0未婚,1已婚)") - private String marriage; + private String marriageName; /** * 毕业院校 */ @@ -125,7 +118,7 @@ public class PostHandleExcel implements Serializable { */ @ColumnWidth(20) @ExcelProperty("用工类型") - private Short staffType; + private String staffTypeName; /** * 参加工作时间 */ @@ -137,7 +130,7 @@ public class PostHandleExcel implements Serializable { */ @ColumnWidth(20) @ExcelProperty("技能等级") - private Short skill; + private String skillName; /** * 任现职时间 */ @@ -166,7 +159,7 @@ public class PostHandleExcel implements Serializable { * 1实习-培训中,2转岗中,3正常,4下岗中,5离职,6培训合格,7培训不合格 */ @ColumnWidth(20) - @ExcelProperty("1实习-培训中,2转岗中,3正常,4下岗中,5离职,6培训合格,7培训不合格") - private Short phStatus; + @ExcelProperty("状态") + private String phStatusName; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/PostHandleVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/PostHandleVO.java index 7716f321..ffc71e83 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/PostHandleVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/PostHandleVO.java @@ -4,10 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import org.springblade.desk.jobTransfer.pojo.entity.PostHandleEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import org.springblade.desk.jobTransfer.pojo.enums.PostHandleStatusEnum; -import org.springblade.desk.jobTransfer.pojo.enums.SkillEnum; -import org.springblade.desk.jobTransfer.pojo.enums.StaffTypeEnum; -import org.springblade.desk.jobTransfer.pojo.enums.TrainingStatusEnum; +import org.springblade.desk.jobTransfer.pojo.enums.*; import java.io.Serial; @@ -41,6 +38,9 @@ public class PostHandleVO extends PostHandleEntity { //技能等级名 @Schema(description = "技能等级名") private String skillName; + //技能等级名 + @Schema(description = "婚姻名") + private String marriageName; public String getPhStatusName() { return PostHandleStatusEnum.getName(null != this.getPhStatus() ? this.getPhStatus().intValue() : null); @@ -53,4 +53,8 @@ public class PostHandleVO extends PostHandleEntity { public String getSkillName() { return SkillEnum.getName(null != this.getSkill() ? this.getSkill().intValue() : null); } + + public String getMarriageName() { + return MarriageEnum.getName(null != this.getMarriage() ? this.getMarriage() : null); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java index d38f03a2..aad08894 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java @@ -7,6 +7,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import jakarta.annotation.PostConstruct; import lombok.AllArgsConstructor; import jakarta.validation.Valid; @@ -20,6 +21,7 @@ import org.springblade.desk.jobTransfer.pojo.entity.CertificateMaintenanceEntity import org.springblade.desk.jobTransfer.pojo.excel.EquipmentMaintenanceExcel; import org.springblade.desk.jobTransfer.pojo.request.EquipmentMaintenanceQuery; import org.springblade.desk.jobTransfer.pojo.vo.EquipmentMaintenanceListVO; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -148,4 +150,18 @@ public class EquipmentMaintenanceController extends BladeController { ExcelUtil.export(response, "岗位设备维护数据" + DateUtil.time(), "岗位设备维护数据表", list, EquipmentMaintenanceExcel.class); } + @PostConstruct // 项目启动后立即执行一次 + public void init() { + updateMaintenanceStatus(); + } + + /** + * 更新设备维护状态 + * TODO 以后需要交由PowerJob服务统一管理 + */ + @Scheduled(cron = "0 0 0 * * ?") // 每天凌晨0点执行 + public void updateMaintenanceStatus() { + equipmentMaintenanceService.updateMaintenanceStatus(); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/PostHandleController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/PostHandleController.java index cef1dd1e..c6a5f332 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/PostHandleController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/PostHandleController.java @@ -1,5 +1,6 @@ package org.springblade.desk.jobTransfer.controller; +import io.micrometer.core.instrument.binder.BaseUnits; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.media.Schema; @@ -34,6 +35,7 @@ import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.excel.util.ExcelUtil; +import java.util.ArrayList; import java.util.Map; import java.util.List; import java.util.stream.Collectors; @@ -182,18 +184,26 @@ public class PostHandleController extends BladeController { /** * 导出数据 */ - @IsAdmin @GetMapping("/export-postHandle") @ApiOperationSupport(order = 11) @Operation(summary = "导出数据", description = "传入postHandle") - public void exportPostHandle(@Parameter(hidden = true) @RequestParam Map postHandle, BladeUser bladeUser, HttpServletResponse response) { - QueryWrapper queryWrapper = Condition.getQueryWrapper(postHandle, PostHandleEntity.class); + public void exportPostHandle(PostHandleQuery postHandleQuery, Query query, HttpServletResponse response) { + query.setSize(99999); + IPage pages = postHandleService.selectPostHandlePage(Condition.getPage(query), postHandleQuery); + List list = pages.getRecords(); +// QueryWrapper queryWrapper = Condition.getQueryWrapper(postHandle, PostHandleEntity.class); //if (!AuthUtil.isAdministrator()) { // queryWrapper.lambda().eq(PostHandle::getTenantId, bladeUser.getTenantId()); //} //queryWrapper.lambda().eq(PostHandleEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); - List list = postHandleService.exportPostHandle(queryWrapper); - ExcelUtil.export(response, "岗位处理数据" + DateUtil.time(), "岗位处理数据表", list, PostHandleExcel.class); +// List list = postHandleService.exportPostHandle(queryWrapper); + List excels = new ArrayList<>(); + for (PostHandleVO postHandleVO : list) { + PostHandleExcel excel = new PostHandleExcel(); + BeanUtils.copyProperties(postHandleVO, excel); + excels.add(excel); + } + ExcelUtil.export(response, "岗位处理数据" + DateUtil.time(), "岗位处理数据表", excels, PostHandleExcel.class); } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.java index 845dfd8f..79f59061 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.java @@ -38,5 +38,8 @@ public interface EquipmentMaintenanceMapper extends BaseMapper exportEquipmentMaintenance(@Param("ew") Wrapper queryWrapper); + /** + * 更新设备维护状态 + */ void updateMaintenanceStatus(); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IEquipmentMaintenanceService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IEquipmentMaintenanceService.java index 20a8a7ed..6ef616a0 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IEquipmentMaintenanceService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IEquipmentMaintenanceService.java @@ -35,6 +35,16 @@ public interface IEquipmentMaintenanceService extends BaseService exportEquipmentMaintenance(Wrapper queryWrapper); + /** + * 批量增改 + * + * @param equipmentMaintenanceEntities + * @return + */ Boolean submitList(List equipmentMaintenanceEntities); + /** + * 更新设备维护状态 + */ + void updateMaintenanceStatus(); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/EquipmentMaintenanceServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/EquipmentMaintenanceServiceImpl.java index 8c48c7e5..8341ba92 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/EquipmentMaintenanceServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/EquipmentMaintenanceServiceImpl.java @@ -46,4 +46,9 @@ public class EquipmentMaintenanceServiceImpl extends BaseServiceImpl Date: Tue, 13 Jan 2026 16:36:46 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E8=BD=AC=E5=B2=97=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=EF=BC=9A=E4=BA=BA=E5=91=98=E4=B8=8E=E7=8F=AD?= =?UTF-8?q?=E7=BB=84=E5=85=B3=E8=81=94=E5=85=B3=E7=B3=BB=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/CertificateMaintenanceMapper.xml | 4 ++-- .../mapper/EquipmentMaintenanceMapper.xml | 4 ++-- .../jobTransfer/mapper/PostHandleMapper.xml | 4 ++-- .../service/impl/PostHandleServiceImpl.java | 18 ++++++++++++++---- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml index 0a90ab1a..2f8f7b15 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml @@ -110,7 +110,7 @@ SELECT ph.ID as ph_id, ph.*, - bd.DEPT_NAME as DEPT_NAME, + bd.TS_NAME as DEPT_NAME, cm.id as cm_id, cm.ph_id as cm_ph_id, cm.certificate_id, @@ -126,7 +126,7 @@ ct.astronaut_validity_period as astronaut_validity_period FROM MES_POST_HANDLE ph LEFT JOIN BLADE_USER bu ON ph.USER_ID = bu.ID - LEFT JOIN BLADE_DEPT bd ON ph.DEPT_ID = bd.ID + LEFT JOIN BA_TEAM_SET bd ON ph.DEPT_ID = bd.ID LEFT JOIN MES_CERTIFICATE_MAINTENANCE cm ON ph.id = cm.ph_id AND cm.is_deleted = 0 LEFT JOIN MES_CERTIFICATE_TYPE ct ON cm.certificate_id = ct.id AND ct.is_deleted = 0 WHERE ph.is_deleted = 0 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml index 8a233930..5c5d66f2 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml @@ -95,7 +95,7 @@ SELECT ph.ID as ph_id, ph.*, - bd.DEPT_NAME as DEPT_NAME, + bd.TS_NAME as DEPT_NAME, em.id as em_id, em.ph_id as em_ph_id, em.equipment_id, @@ -107,7 +107,7 @@ equipment.mac_spec FROM MES_POST_HANDLE ph LEFT JOIN BLADE_USER bu ON ph.USER_ID = bu.ID - LEFT JOIN BLADE_DEPT bd ON ph.DEPT_ID = bd.ID + LEFT JOIN BA_TEAM_SET bd ON ph.DEPT_ID = bd.ID LEFT JOIN MES_EQUIPMENT_MAINTENANCE em ON ph.id = em.ph_id AND em.is_deleted = 0 LEFT JOIN MES_EQUIPMENT equipment ON em.equipment_id = equipment.id AND equipment.is_deleted = 0 WHERE ph.is_deleted = 0 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.xml index 26252749..8c5f3a33 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.xml @@ -98,10 +98,10 @@ mph.*, -- 主表所有字段 bu.REAL_NAME as USER_NAME, -- 用户姓名 bu.CODE as USER_CODE, -- 用户工号 - bd.DEPT_NAME as DEPT_NAME -- 班组名称 + bd.TS_NAME as DEPT_NAME -- 班组名称 FROM MES_POST_HANDLE mph LEFT JOIN BLADE_USER bu ON mph.USER_ID = bu.ID -- 关联用户表 - LEFT JOIN BLADE_DEPT bd ON mph.DEPT_ID = bd.ID -- 关联部门表 + LEFT JOIN BA_TEAM_SET bd ON mph.DEPT_ID = bd.ID -- 关联部门表 WHERE mph.IS_DELETED = 0 AND bu.CODE = #{postHandle.userCode} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java index 40316691..00b7141f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java @@ -3,6 +3,8 @@ package org.springblade.desk.jobTransfer.service.impl; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import jakarta.annotation.Resource; import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.pojo.entity.RelTeamSetUser; +import org.springblade.desk.basic.service.IRelTeamSetUserService; import org.springblade.desk.jobTransfer.pojo.entity.CertificateMaintenanceEntity; import org.springblade.desk.jobTransfer.pojo.entity.CultivateDetailEntity; import org.springblade.desk.jobTransfer.pojo.entity.EquipmentMaintenanceEntity; @@ -44,7 +46,7 @@ public class PostHandleServiceImpl extends BaseServiceImpl selectPostHandlePage(IPage page, PostHandleQuery postHandleQuery) { // return page.setRecords(baseMapper.selectPostHandlePage(page, postHandle)); @@ -227,7 +234,10 @@ public class PostHandleServiceImpl extends BaseServiceImpl list = postHandleImports.stream().map(this::convertSingle).collect(Collectors.toList()); + //获取用户与班组对应关系 + List relTeamSetUsers = relTeamSetUserService.list(); + Map relTeamSetUserMap = relTeamSetUsers.stream().collect(Collectors.toMap(item -> item.getUserId(), item -> item.getTeamSetId())); + List list = postHandleImports.stream().map((PostHandleImport excel) -> convertSingle(excel, relTeamSetUserMap)).collect(Collectors.toList()); //获取全部用户id,对比PostHandleEntity已有数据,不允许重复添加 List ids = list.stream().map(PostHandleEntity::getUserId) .collect(Collectors.toList()); @@ -287,7 +297,7 @@ public class PostHandleServiceImpl extends BaseServiceImpl map) { PostHandleEntity entity = new PostHandleEntity(); // 核心:属性拷贝,两个类的字段名和类型必须一致 BeanUtils.copyProperties(excel, entity); @@ -302,7 +312,7 @@ public class PostHandleServiceImpl extends BaseServiceImpl Date: Tue, 13 Jan 2026 17:52:33 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E5=AD=97=E6=AE=B5=E4=BF=AE=E6=94=B9+sql?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/pojo/entity/EquipmentEntity.java | 27 +------------------ .../desk/device/mapper/EquipmentMapper.xml | 2 +- .../service/impl/EquipmentServiceImpl.java | 2 +- doc/sql/mes/increase-260113.sql | 5 ++++ 4 files changed, 8 insertions(+), 28 deletions(-) create mode 100644 doc/sql/mes/increase-260113.sql diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/EquipmentEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/EquipmentEntity.java index 1de7aa0c..bd61a14d 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/EquipmentEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/entity/EquipmentEntity.java @@ -1,28 +1,3 @@ -/** - * BladeX Commercial License Agreement - * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. - *

- * Use of this software is governed by the Commercial License Agreement - * obtained after purchasing a license from BladeX. - *

- * 1. This software is for development use only under a valid license - * from BladeX. - *

- * 2. Redistribution of this software's source code to any third party - * without a commercial license is strictly prohibited. - *

- * 3. Licensees may copyright their own code but cannot use segments - * from this software for such purposes. Copyright of this software - * remains with BladeX. - *

- * Using this software signifies agreement to this License, and the software - * must not be used for illegal purposes. - *

- * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is - * not liable for any claims arising from secondary or illegal development. - *

- * Author: Chill Zhuang (bladejava@qq.com) - */ package org.springblade.desk.device.pojo.entity; import com.baomidou.mybatisplus.annotation.TableName; @@ -153,7 +128,7 @@ public class EquipmentEntity extends BaseEntity { * 作业中心ID */ @Schema(description = "作业中心ID") - private Long workstationId; + private Long workCenterId; public void setDocking(String docking) { // 核心逻辑:如果传入的是 null 或空字符串,则使用默认值 "0" if (docking == null || docking.trim().isEmpty()) { diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.xml index d8632dfd..7713186b 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/device/mapper/EquipmentMapper.xml @@ -27,7 +27,7 @@ - + Date: Wed, 14 Jan 2026 10:22:57 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E5=9F=B9=E8=AE=AD=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E5=AF=BC=E5=87=BA=EF=BC=8C=E5=B2=97=E4=BD=8D?= =?UTF-8?q?=E8=AF=81=E4=B9=A6=E7=BB=B4=E6=8A=A4=E5=AF=BC=E5=87=BA=EF=BC=8C?= =?UTF-8?q?=E5=B2=97=E4=BD=8D=E8=AE=BE=E5=A4=87=E7=BB=B4=E6=8A=A4=E5=AF=BC?= =?UTF-8?q?=E5=87=BA+=E8=BD=AC=E5=B2=97=E7=AE=A1=E7=90=86=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E7=8A=B6=E6=80=81=E5=AD=97=E5=85=B8=E6=95=B0=E6=8D=AE?= =?UTF-8?q?sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/CertificateMaintenanceExcel.java | 92 +++++++++++++++++-- .../pojo/excel/CultivateDetailExcel.java | 54 ++++++----- .../pojo/excel/EquipmentMaintenanceExcel.java | 71 +++++++++++--- .../pojo/vo/CertificateMaintenanceVO.java | 28 ++++++ .../pojo/vo/EquipmentMaintenanceVO.java | 14 +++ .../CertificateMaintenanceController.java | 35 ++++++- .../controller/CertificateTypeController.java | 1 - .../controller/CultivateDetailController.java | 22 ++++- .../EquipmentMaintenanceController.java | 36 ++++++-- .../controller/TrainingPlanController.java | 1 - .../mapper/CertificateMaintenanceMapper.xml | 2 + doc/sql/mes/increase-260113.sql | 78 ++++++++++++++++ 12 files changed, 372 insertions(+), 62 deletions(-) diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CertificateMaintenanceExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CertificateMaintenanceExcel.java index 50c40010..51078350 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CertificateMaintenanceExcel.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CertificateMaintenanceExcel.java @@ -1,6 +1,7 @@ package org.springblade.desk.jobTransfer.pojo.excel; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; @@ -29,48 +30,121 @@ public class CertificateMaintenanceExcel implements Serializable { @Serial private static final long serialVersionUID = 1L; - /** - * 岗位处理ID + * 名称 + */ + @ColumnWidth(20) + @ExcelProperty("姓名") + private String userName; + /** + * 班组ID + */ + @ColumnWidth(20) + @ExcelProperty("所属班组") + private String deptName; + /** + * 所属岗位 + */ + @ColumnWidth(20) + @ExcelProperty("所属岗位") + private String station; + /** + * 技能等级 */ @ColumnWidth(20) - @ExcelProperty("岗位处理ID") - private Long phId; + @ExcelProperty("技能等级") + private String skillName; /** - * 证书类型ID + * 最高学历 */ @ColumnWidth(20) - @ExcelProperty("证书类型ID") - private Long certificateId; + @ExcelProperty("最高学历") + private String education; + /** + * 出生日期 + */ + @ColumnWidth(20) + @ExcelProperty("出生日期") + private Date dataBirth; + /** + * 证书名称 + */ + @ColumnWidth(20) + @ExcelProperty("证书名称") + private String CertificateTypeName; /** * 证书编号 */ @ColumnWidth(20) @ExcelProperty("证书编号") private String certificateCode; + /** + * 从事本岗位或工种时间 + */ + @ColumnWidth(20) + @ExcelProperty("从事本岗位或工种时间") + private Short workingHours; /** * 证书日期 */ @ColumnWidth(20) @ExcelProperty("证书日期") private Date certificateDate; + /** + * 证书有效期 + */ + @ColumnWidth(20) + @ExcelProperty("证书有效期") + private Short validityPeriod; + /** + * 证书到期日期 + */ + @ColumnWidth(20) + @ExcelProperty("证书到期日期") + private Date validityPeriodExpire; /** * 适航日期 */ @ColumnWidth(20) @ExcelProperty("适航日期") private Date airworthinessDate; + + /** + * 适航有效期 + */ + @ColumnWidth(20) + @ExcelProperty("适航有效期") + private Short airworthinessValidityPeriod; + /** + * 适航日期 + */ + @ColumnWidth(20) + @ExcelProperty("适航到期日期") + private Date airworthinessDateExpire; /** * 宇航日期 */ @ColumnWidth(20) @ExcelProperty("宇航日期") private Date astronautDate; + + /** + * 宇航有效期 + */ + @ColumnWidth(20) + @ExcelProperty("宇航有效期") + private Short astronautValidityPeriod; + /** + * 宇航到期日期 + */ + @ColumnWidth(20) + @ExcelProperty("宇航到期日期") + private Date astronautDateExpire; /** * 维护状态(1正常,2到期,3离职) */ @ColumnWidth(20) - @ExcelProperty("维护状态(1正常,2到期,3离职)") - private Short maintenanceStatus; + @ExcelProperty("状态") + private String MaintenanceStatusName; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CultivateDetailExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CultivateDetailExcel.java index fd5fd1dd..70f4a3f1 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CultivateDetailExcel.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CultivateDetailExcel.java @@ -29,31 +29,40 @@ public class CultivateDetailExcel implements Serializable { @Serial private static final long serialVersionUID = 1L; + //姓名 + @ColumnWidth(20) + @ExcelProperty("姓名") + private String name; - /** - * 岗位处理ID - */ + //用工号 @ColumnWidth(20) - @ExcelProperty("岗位处理ID") - private Long phId; - /** - * 培训类型(1实习,2转岗,3下岗) - */ + @ExcelProperty("工号") + private String code; + + //用工类型名 @ColumnWidth(20) - @ExcelProperty("培训类型(1实习,2转岗,3下岗)") - private Short type; - /** - * 培训模板ID - */ + @ExcelProperty("用工类型") + private String staffTypeName; + //培训类型 @ColumnWidth(20) - @ExcelProperty("培训模板ID") - private Long planId; - /** - * 培训师ID - */ + @ExcelProperty("培训类型") + private String typeName; + + //培训周期(天) + @ColumnWidth(20) + @ExcelProperty("培训周期(天)") + private Integer cycle; + + //预警周期(天) + @ColumnWidth(20) + @ExcelProperty("预警周期(天)") + private Integer earlyWarningDay; + + //培训计划 @ColumnWidth(20) - @ExcelProperty("培训师ID") - private Long teacherId; + @ExcelProperty("培训计划") + private String planName; + /** * 培训师 */ @@ -63,9 +72,10 @@ public class CultivateDetailExcel implements Serializable { /** * 培训状态(1未配置,2等待下发,3已下发-培训中,4已到期,5已培训-待确认,6培训完成) */ + //状态 @ColumnWidth(20) - @ExcelProperty("培训状态(1未配置,2等待下发,3已下发-培训中,4已到期,5已培训-待确认,6培训完成)") - private Short caStatus; + @ExcelProperty("培训状态") + private String caStatusName; /** * 下发时间 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/EquipmentMaintenanceExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/EquipmentMaintenanceExcel.java index cf14166c..6742f716 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/EquipmentMaintenanceExcel.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/EquipmentMaintenanceExcel.java @@ -29,36 +29,83 @@ public class EquipmentMaintenanceExcel implements Serializable { @Serial private static final long serialVersionUID = 1L; - /** - * 岗位处理ID + * 名称 */ @ColumnWidth(20) - @ExcelProperty("岗位处理ID") - private Long phId; + @ExcelProperty("姓名") + private String userName; /** - * 设备ID + * 班组ID */ @ColumnWidth(20) - @ExcelProperty("设备ID") - private Long equipmentId; + @ExcelProperty("所属班组") + private String deptName; /** - * 设备有效期 + * 所属岗位 */ @ColumnWidth(20) - @ExcelProperty("设备有效期") - private Integer equipmentValidityPeriod; + @ExcelProperty("所属岗位") + private String station; + /** + * 技能等级 + */ + @ColumnWidth(20) + @ExcelProperty("技能等级") + private String skillName; + /** + * 最高学历 + */ + @ColumnWidth(20) + @ExcelProperty("最高学历") + private String education; + /** + * 出生日期 + */ + @ColumnWidth(20) + @ExcelProperty("出生日期") + private Date dataBirth; + /** + * 设备名称 + */ + @ColumnWidth(20) + @ExcelProperty("设备名称") + private String deviceName; + /** + * 设备编码 + */ + @ColumnWidth(20) + @ExcelProperty("设备编码") + private String deviceCode; + /** + * 规格型号 + */ + @ColumnWidth(20) + @ExcelProperty("规格型号") + private String macSpec; /** * 设备日期 */ @ColumnWidth(20) @ExcelProperty("设备日期") private Date equipmentDate; + /** + * 设备有效期 + */ + @ColumnWidth(20) + @ExcelProperty("设备有效期") + private Integer equipmentValidityPeriod; + /** + * 设备到期日期 + */ + @ColumnWidth(20) + @ExcelProperty("设备到期日期") + private Date validityPeriodExpire; /** * 维护状态(1正常,2到期,3离职) */ @ColumnWidth(20) - @ExcelProperty("维护状态(1正常,2到期,3离职)") - private Short maintenanceStatus; + @ExcelProperty("状态") + private String maintenanceStatusName; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CertificateMaintenanceVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CertificateMaintenanceVO.java index 7d2ba0fe..17bddf95 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CertificateMaintenanceVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CertificateMaintenanceVO.java @@ -7,6 +7,9 @@ import lombok.EqualsAndHashCode; import org.springblade.desk.jobTransfer.pojo.enums.MaintenanceStatusEnum; import java.io.Serial; +import java.time.LocalDate; +import java.time.Period; +import java.time.ZoneId; import java.util.Calendar; import java.util.Date; @@ -21,6 +24,9 @@ import java.util.Date; public class CertificateMaintenanceVO extends CertificateMaintenanceEntity { @Serial private static final long serialVersionUID = 1L; + +// @Schema(description = "从事本岗位或工种时间") +// private Short workingHours; /** * 证书名称 */ @@ -88,6 +94,28 @@ public class CertificateMaintenanceVO extends CertificateMaintenanceEntity { } } + public Short getWorkingYears() { + Date createTime = this.getCreateTime(); + Date now = new Date(); + + LocalDate startDate = createTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + LocalDate endDate = now.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + + // 使用Period计算间隔 + Period period = Period.between(startDate, endDate); + int years = period.getYears(); + int months = period.getMonths(); + int days = period.getDays(); + + // 如果月数或天数大于0,则说明不满一年但已超出一个完整年份的周期,需要加1 + long workingYears = (months > 0 || days > 0) ? years + 1 : years; + + if (workingYears < Short.MIN_VALUE || workingYears > Short.MAX_VALUE) { + throw new ArithmeticException("工龄数值超出Short范围"); + } + return (short) workingYears; + } + public String getMaintenanceStatusName() { if (this.getMaintenanceStatus() == MaintenanceStatusEnum.DEPART.getCode().shortValue()) { return MaintenanceStatusEnum.DEPART.getName(); diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceVO.java index 2c09c1c8..b8721eb2 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceVO.java @@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import org.springblade.desk.jobTransfer.pojo.entity.EquipmentMaintenanceEntity; import lombok.Data; import lombok.EqualsAndHashCode; +import org.springblade.desk.jobTransfer.pojo.enums.MaintenanceStatusEnum; import java.io.Serial; import java.util.Calendar; @@ -50,4 +51,17 @@ public class EquipmentMaintenanceVO extends EquipmentMaintenanceEntity { return null; } } + + public String getMaintenanceStatusName() { + if (this.getMaintenanceStatus() == MaintenanceStatusEnum.DEPART.getCode().shortValue()) { + return MaintenanceStatusEnum.DEPART.getName(); + } + Date date = new Date(); + if (getValidityPeriodExpire() != null && getValidityPeriodExpire().getTime() < date.getTime()) { + setMaintenanceStatus(MaintenanceStatusEnum.DUE.getCode().shortValue()); + return MaintenanceStatusEnum.DUE.getName(); + } + setMaintenanceStatus(MaintenanceStatusEnum.NORMAL.getCode().shortValue()); + return MaintenanceStatusEnum.NORMAL.getName(); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateMaintenanceController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateMaintenanceController.java index c944f804..139c6941 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateMaintenanceController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateMaintenanceController.java @@ -18,8 +18,12 @@ import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.desk.jobTransfer.pojo.excel.CertificateMaintenanceExcel; +import org.springblade.desk.jobTransfer.pojo.excel.CultivateDetailExcel; import org.springblade.desk.jobTransfer.pojo.request.CertificateLedgerQuery; import org.springblade.desk.jobTransfer.pojo.vo.CertificateLedgerVO; +import org.springblade.desk.jobTransfer.pojo.vo.CultivateDetailVO; +import org.springblade.desk.jobTransfer.pojo.vo.PostHandleVO; +import org.springframework.beans.BeanUtils; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -32,6 +36,7 @@ import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.excel.util.ExcelUtil; +import java.util.ArrayList; import java.util.Map; import java.util.List; @@ -134,18 +139,38 @@ public class CertificateMaintenanceController extends BladeController { /** * 导出数据 */ - @IsAdmin @GetMapping("/export-certificateMaintenance") @ApiOperationSupport(order = 9) @Operation(summary = "导出数据", description = "传入certificateMaintenance") - public void exportCertificateMaintenance(@Parameter(hidden = true) @RequestParam Map certificateMaintenance, BladeUser bladeUser, HttpServletResponse response) { - QueryWrapper queryWrapper = Condition.getQueryWrapper(certificateMaintenance, CertificateMaintenanceEntity.class); + public void exportCertificateMaintenance(CertificateLedgerQuery certificateLedgerQuery, Query query, BladeUser bladeUser, HttpServletResponse response) { +// QueryWrapper queryWrapper = Condition.getQueryWrapper(certificateMaintenance, CertificateMaintenanceEntity.class); //if (!AuthUtil.isAdministrator()) { // queryWrapper.lambda().eq(CertificateMaintenance::getTenantId, bladeUser.getTenantId()); //} //queryWrapper.lambda().eq(CertificateMaintenanceEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); - List list = certificateMaintenanceService.exportCertificateMaintenance(queryWrapper); - ExcelUtil.export(response, "证书维护数据" + DateUtil.time(), "证书维护数据表", list, CertificateMaintenanceExcel.class); +// List list = certificateMaintenanceService.exportCertificateMaintenance(queryWrapper); + query.setSize(99999); + IPage pages = certificateMaintenanceService.selectCertificateMaintenancePage(Condition.getPage(query), certificateLedgerQuery); + List list = pages.getRecords(); + List excels = new ArrayList<>(); + for (CertificateLedgerVO certificateLedgerVO : list) { + PostHandleVO postHandleVO = certificateLedgerVO.getPostHandleVO(); + if (null != certificateLedgerVO.getCertificateMaintenanceVOList() + && certificateLedgerVO.getCertificateMaintenanceVOList().size() > 0) { + for (CertificateMaintenanceVO certificateMaintenanceVO : certificateLedgerVO.getCertificateMaintenanceVOList()) { + CertificateMaintenanceExcel excel = new CertificateMaintenanceExcel(); + BeanUtils.copyProperties(certificateMaintenanceVO, excel); + excel.setUserName(postHandleVO.getName()); + excel.setDeptName(postHandleVO.getDeptName()); + excel.setDataBirth(postHandleVO.getDataBirth()); + excel.setSkillName(postHandleVO.getSkillName()); + excel.setStation(postHandleVO.getStation()); + excel.setEducation(postHandleVO.getEducation()); + excels.add(excel); + } + } + } + ExcelUtil.export(response, "证书维护数据" + DateUtil.time(), "证书维护数据表", excels, CertificateMaintenanceExcel.class); } @PostConstruct // 项目启动后立即执行一次 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateTypeController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateTypeController.java index e3542503..33ed06f7 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateTypeController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateTypeController.java @@ -111,7 +111,6 @@ public class CertificateTypeController extends BladeController { /** * 导出数据 */ - @IsAdmin @GetMapping("/export-certificateType") @ApiOperationSupport(order = 9) @Operation(summary = "导出数据", description = "传入certificateType") diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CultivateDetailController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CultivateDetailController.java index 604580a3..0a8d9002 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CultivateDetailController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CultivateDetailController.java @@ -16,7 +16,10 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.desk.jobTransfer.pojo.enums.TrainingStatusEnum; import org.springblade.desk.jobTransfer.pojo.excel.CultivateDetailExcel; +import org.springblade.desk.jobTransfer.pojo.excel.PostHandleExcel; import org.springblade.desk.jobTransfer.pojo.request.CultivateDetailQuery; +import org.springblade.desk.jobTransfer.pojo.vo.PostHandleVO; +import org.springframework.beans.BeanUtils; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -30,6 +33,7 @@ import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.tool.constant.BladeConstant; +import java.util.ArrayList; import java.util.Date; import java.util.Map; import java.util.List; @@ -116,18 +120,26 @@ public class CultivateDetailController extends BladeController { /** * 导出数据 */ - @IsAdmin @GetMapping("/export-cultivateDetail") @ApiOperationSupport(order = 9) @Operation(summary = "导出数据", description = "传入cultivateDetail") - public void exportCultivateDetail(@Parameter(hidden = true) @RequestParam Map cultivateDetail, BladeUser bladeUser, HttpServletResponse response) { - QueryWrapper queryWrapper = Condition.getQueryWrapper(cultivateDetail, CultivateDetailEntity.class); + public void exportCultivateDetail(CultivateDetailQuery cultivateDetailQuery, Query query, HttpServletResponse response) { +// QueryWrapper queryWrapper = Condition.getQueryWrapper(cultivateDetail, CultivateDetailEntity.class); //if (!AuthUtil.isAdministrator()) { // queryWrapper.lambda().eq(CultivateDetail::getTenantId, bladeUser.getTenantId()); //} //queryWrapper.lambda().eq(CultivateDetailEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); - List list = cultivateDetailService.exportCultivateDetail(queryWrapper); - ExcelUtil.export(response, "培训安排数据" + DateUtil.time(), "培训安排数据表", list, CultivateDetailExcel.class); +// List list = cultivateDetailService.exportCultivateDetail(queryWrapper); + query.setSize(99999); + IPage pages = cultivateDetailService.selectCultivateDetailPage(Condition.getPage(query), cultivateDetailQuery); + List list = pages.getRecords(); + List excels = new ArrayList<>(); + for (CultivateDetailVO cultivateDetailVO : list) { + CultivateDetailExcel excel = new CultivateDetailExcel(); + BeanUtils.copyProperties(cultivateDetailVO, excel); + excels.add(excel); + } + ExcelUtil.export(response, "培训安排数据" + DateUtil.time(), "培训安排数据表", excels, CultivateDetailExcel.class); } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java index aad08894..d3437a40 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java @@ -19,14 +19,15 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.desk.jobTransfer.pojo.entity.CertificateMaintenanceEntity; import org.springblade.desk.jobTransfer.pojo.excel.EquipmentMaintenanceExcel; +import org.springblade.desk.jobTransfer.pojo.excel.EquipmentMaintenanceExcel; import org.springblade.desk.jobTransfer.pojo.request.EquipmentMaintenanceQuery; -import org.springblade.desk.jobTransfer.pojo.vo.EquipmentMaintenanceListVO; +import org.springblade.desk.jobTransfer.pojo.vo.*; +import org.springframework.beans.BeanUtils; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.desk.jobTransfer.pojo.entity.EquipmentMaintenanceEntity; -import org.springblade.desk.jobTransfer.pojo.vo.EquipmentMaintenanceVO; import org.springblade.desk.jobTransfer.wrapper.EquipmentMaintenanceWrapper; import org.springblade.desk.jobTransfer.service.IEquipmentMaintenanceService; import org.springblade.core.boot.ctrl.BladeController; @@ -34,6 +35,7 @@ import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.tool.constant.BladeConstant; +import java.util.ArrayList; import java.util.Map; import java.util.List; @@ -136,18 +138,38 @@ public class EquipmentMaintenanceController extends BladeController { /** * 导出数据 */ - @IsAdmin @GetMapping("/export-equipmentMaintenance") @ApiOperationSupport(order = 9) @Operation(summary = "导出数据", description = "传入equipmentMaintenance") - public void exportEquipmentMaintenance(@Parameter(hidden = true) @RequestParam Map equipmentMaintenance, BladeUser bladeUser, HttpServletResponse response) { - QueryWrapper queryWrapper = Condition.getQueryWrapper(equipmentMaintenance, EquipmentMaintenanceEntity.class); + public void exportEquipmentMaintenance(EquipmentMaintenanceQuery equipmentMaintenanceQuery, Query query, BladeUser bladeUser, HttpServletResponse response) { +// QueryWrapper queryWrapper = Condition.getQueryWrapper(equipmentMaintenance, EquipmentMaintenanceEntity.class); //if (!AuthUtil.isAdministrator()) { // queryWrapper.lambda().eq(EquipmentMaintenance::getTenantId, bladeUser.getTenantId()); //} //queryWrapper.lambda().eq(EquipmentMaintenanceEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); - List list = equipmentMaintenanceService.exportEquipmentMaintenance(queryWrapper); - ExcelUtil.export(response, "岗位设备维护数据" + DateUtil.time(), "岗位设备维护数据表", list, EquipmentMaintenanceExcel.class); +// List list = equipmentMaintenanceService.exportEquipmentMaintenance(queryWrapper); + query.setSize(99999); + IPage pages = equipmentMaintenanceService.selectEquipmentMaintenancePage(Condition.getPage(query), equipmentMaintenanceQuery); + List list = pages.getRecords(); + List excels = new ArrayList<>(); + for (EquipmentMaintenanceListVO equipmentMaintenanceListVO : list) { + PostHandleVO postHandleVO = equipmentMaintenanceListVO.getPostHandleVO(); + if (null != equipmentMaintenanceListVO.getEquipmentMaintenanceVOList() + && equipmentMaintenanceListVO.getEquipmentMaintenanceVOList().size() > 0) { + for (EquipmentMaintenanceVO maintenanceVO : equipmentMaintenanceListVO.getEquipmentMaintenanceVOList()) { + EquipmentMaintenanceExcel excel = new EquipmentMaintenanceExcel(); + BeanUtils.copyProperties(maintenanceVO, excel); + excel.setUserName(postHandleVO.getName()); + excel.setDeptName(postHandleVO.getDeptName()); + excel.setDataBirth(postHandleVO.getDataBirth()); + excel.setSkillName(postHandleVO.getSkillName()); + excel.setStation(postHandleVO.getStation()); + excel.setEducation(postHandleVO.getEducation()); + excels.add(excel); + } + } + } + ExcelUtil.export(response, "岗位设备维护数据" + DateUtil.time(), "岗位设备维护数据表", excels, EquipmentMaintenanceExcel.class); } @PostConstruct // 项目启动后立即执行一次 diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/TrainingPlanController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/TrainingPlanController.java index dd6276a0..ff06551c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/TrainingPlanController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/TrainingPlanController.java @@ -130,7 +130,6 @@ public class TrainingPlanController extends BladeController { /** * 导出数据 */ - @IsAdmin @GetMapping("/export-trainingPlan") @ApiOperationSupport(order = 9) @Operation(summary = "导出数据", description = "传入trainingPlan") diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml index 2f8f7b15..93194c53 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml @@ -93,6 +93,7 @@ + @@ -113,6 +114,7 @@ bd.TS_NAME as DEPT_NAME, cm.id as cm_id, cm.ph_id as cm_ph_id, + cm.create_time as cm_create_time, cm.certificate_id, cm.certificate_code, cm.certificate_date, diff --git a/doc/sql/mes/increase-260113.sql b/doc/sql/mes/increase-260113.sql index c61bf037..11e0f216 100644 --- a/doc/sql/mes/increase-260113.sql +++ b/doc/sql/mes/increase-260113.sql @@ -3,3 +3,81 @@ ALTER TABLE MES_EQUIPMENT MODIFY (WORKSTATION_ID NUMBER (20,0)); ALTER TABLE MES_EQUIPMENT RENAME COLUMN WORKSTATION_ID TO WORK_CENTER_ID; +--字典 +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010964046474784769', '0', 'staff_type', '-1', '用工类型', '1026', '用工类型', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010964096160509954', '2010964046474784769', 'staff_type', '1', '实习工', '1', '实习工', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010964125885542401', '2010964046474784769', 'staff_type', '2', '正式工', '2', '正式工', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010964532472983554', '0', 'cultivate_status', '-1', '培训类型', '1027', '培训类型', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010964577607888897', '2010964532472983554', 'cultivate_status', '1', '实习', '1', '实习', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010964608230502401', '2010964532472983554', 'cultivate_status', '2', '转岗', '2', '转岗', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010964640312733697', '2010964532472983554', 'cultivate_status', '3', '下岗', '3', '下岗', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010964863843971073', '0', 'training_status', '-1', '培训状态', '1028', '培训状态', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010964906055446530', '2010964863843971073', 'training_status', '1', '未配置', '1', '未配置', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010964940725563393', '2010964863843971073', 'training_status', '2', '等待下发', '2', '等待下发', '0', '1', + '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010964980449816578', '2010964863843971073', 'training_status', '3', '已下发-培训中', '3', '已下发-培训中', + '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010965012834037761', '2010964863843971073', 'training_status', '4', '已到期', '4', '已到期', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010965054177292289', '2010964863843971073', 'training_status', '5', '已培训-待确认', '5', '已培训-待确认', + '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010965089786933249', '2010964863843971073', 'training_status', '6', '培训完成', '6', '培训完成', '0', '1', + '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2008364878937874434', '0', 'equipment_used', '-1', '设备服役状态', '1021', '设备服役状态', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2008364966972121090', '2008364878937874434', 'equipment_used', '1', '正常服役', '0', '正常服役', '0', '1', + '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2008365020491440129', '2008364878937874434', 'equipment_used', '2', '服役中', '1', '服役中', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2008365080713256962', '2008364878937874434', 'equipment_used', '3', '暂停服役', '2', '暂停服役', '0', '1', + '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010961090912333825', '0', 'post_handle_status', '-1', '人员岗位管理状态', '1024', NULL, '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010961260999749634', '2010961090912333825', 'post_handle_status', '1', '实习中', '1', '实习中', '0', '1', + '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010961315622170625', '2010961090912333825', 'post_handle_status', '2', '转岗中', '2', '转岗中', '0', '1', + '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010961353375100929', '2010961090912333825', 'post_handle_status', '3', '正常', '3', '正常', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010961399629885441', '2010961090912333825', 'post_handle_status', '4', '下岗中', '4', '下岗中', '0', '1', + '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010961438691438593', '2010961090912333825', 'post_handle_status', '5', '离职', '5', '离职', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010961468466802689', '2010961090912333825', 'post_handle_status', '6', '转岗培训合格', '6', '转岗培训合格', + '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010961519066886145', '2010961090912333825', 'post_handle_status', '7', '下岗培训合格', '7', '下岗培训合格', + '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010961567850835970', '2010961090912333825', 'post_handle_status', '8', '实习培训合格', '8', '实习培训合格', + '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010961601405267970', '2010961090912333825', 'post_handle_status', '9', '培训不合格', '9', '培训不合格', '0', + '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010962442006704130', '0', 'skill_level', '-1', '技能等级', '1025', '技能等级', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010962529642491905', '2010962442006704130', 'skill_level', '1', '中级', '1', '中级', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010962574047588354', '2010962442006704130', 'skill_level', '2', '高级', '2', '高级', '0', '1', '0'); +INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED) +VALUES ('2010962612769402882', '2010962442006704130', 'skill_level', '3', '技师', '3', '技师', '0', '1', '0'); From ae684dc6e5d0d1567e3540f1184f04b618c80c6c Mon Sep 17 00:00:00 2001 From: qinyulong Date: Wed, 14 Jan 2026 14:12:13 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E8=AF=81=E4=B9=A6?= =?UTF-8?q?=E7=BB=B4=E6=8A=A4=E5=AF=BC=E5=85=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/CertificateMaintenanceImport.java | 54 +++++++++++++++++ .../CertificateMaintenanceController.java | 43 +++++++++++-- .../controller/CertificateTypeController.java | 2 +- .../controller/CultivateDetailController.java | 2 +- .../EquipmentMaintenanceController.java | 2 +- .../controller/PostHandleController.java | 4 +- .../mapper/CertificateMaintenanceMapper.xml | 2 +- .../mapper/EquipmentMaintenanceMapper.xml | 2 +- .../ICertificateMaintenanceService.java | 10 +++ .../CertificateMaintenanceServiceImpl.java | 57 +++++++++++++++++- .../jobTransfer/证书维护导入模板.xls | Bin 0 -> 20480 bytes 11 files changed, 166 insertions(+), 12 deletions(-) create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CertificateMaintenanceImport.java create mode 100644 blade-service/blade-desk/src/main/resources/Excel/jobTransfer/证书维护导入模板.xls diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CertificateMaintenanceImport.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CertificateMaintenanceImport.java new file mode 100644 index 00000000..fc8ce960 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CertificateMaintenanceImport.java @@ -0,0 +1,54 @@ +package org.springblade.desk.jobTransfer.pojo.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.format.DateTimeFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.util.Date; + +/** + * 证书维护导入 + * + * @author qyl + * @since 2026-01-14 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class CertificateMaintenanceImport extends BaseEntity { + + /** + * 用户code + */ + @ExcelProperty(index = 0) + private String userCode; + /** + * 证书类型 + */ + @ExcelProperty(index = 1) + private String certificateType; + /** + * 证书编号 + */ + @ExcelProperty(index = 2) + private String certificateCode; + /** + * 证书日期 + */ + @ExcelProperty(index = 3) + @DateTimeFormat("yyyy/MM/dd") + private Date certificateDate; + /** + * 适航日期 + */ + @ExcelProperty(index = 4) + @DateTimeFormat("yyyy/MM/dd") + private Date airworthinessDate; + /** + * 宇航日期 + */ + @ExcelProperty(index = 5) + @DateTimeFormat("yyyy/MM/dd") + private Date astronautDate; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateMaintenanceController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateMaintenanceController.java index 139c6941..84321bfe 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateMaintenanceController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateMaintenanceController.java @@ -17,13 +17,20 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.jobTransfer.pojo.excel.CertificateMaintenanceExcel; +import org.springblade.desk.jobTransfer.pojo.excel.CertificateMaintenanceImport; import org.springblade.desk.jobTransfer.pojo.excel.CultivateDetailExcel; +import org.springblade.desk.jobTransfer.pojo.excel.PostHandleImport; import org.springblade.desk.jobTransfer.pojo.request.CertificateLedgerQuery; import org.springblade.desk.jobTransfer.pojo.vo.CertificateLedgerVO; import org.springblade.desk.jobTransfer.pojo.vo.CultivateDetailVO; import org.springblade.desk.jobTransfer.pojo.vo.PostHandleVO; +import org.springblade.system.cache.UserCache; +import org.springblade.system.pojo.entity.UserInfo; import org.springframework.beans.BeanUtils; +import org.springframework.core.io.Resource; +import org.springframework.http.ResponseEntity; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -36,11 +43,10 @@ import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.excel.util.ExcelUtil; -import java.util.ArrayList; -import java.util.Map; -import java.util.List; +import java.util.*; import jakarta.servlet.http.HttpServletResponse; +import org.springframework.web.multipart.MultipartFile; /** * 证书维护 控制器 @@ -51,7 +57,7 @@ import jakarta.servlet.http.HttpServletResponse; @RestController @AllArgsConstructor @RequestMapping("/certificateMaintenance") -@Tag(name = "证书维护", description = "证书维护接口") +@Tag(name = "上岗证台账", description = "上岗证台账接口") public class CertificateMaintenanceController extends BladeController { private final ICertificateMaintenanceService certificateMaintenanceService; @@ -173,6 +179,35 @@ public class CertificateMaintenanceController extends BladeController { ExcelUtil.export(response, "证书维护数据" + DateUtil.time(), "证书维护数据表", excels, CertificateMaintenanceExcel.class); } + /** + * 下载Excel模板 + */ + @GetMapping("/downloadExcelTemplate") + @ApiOperationSupport(order = 10) + @Operation(summary = "下载Excel模板", description = "") + public ResponseEntity downloadExcelTemplate() { + return ExcelExtUtil.downloadXlsTemplate( + "Excel/jobTransfer/证书维护导入模板.xls", + "证书维护导入模板.xls"); + } + + /** + * 导入Excel + */ + @PostMapping("/importExcel") + @ApiOperationSupport(order = 11) + @Operation(summary = "导入Excel", description = "MultipartFile") + public R importExcel(@RequestParam("file") MultipartFile file) { + R checkR = ExcelExtUtil.importExcelCheck(file); + if (checkR != null) { + return checkR; + } + List importList = ExcelUtil.read( + file, 0, 1, CertificateMaintenanceImport.class + ); + return certificateMaintenanceService.saveExcelData(importList); + } + @PostConstruct // 项目启动后立即执行一次 public void init() { updateMaintenanceStatus(); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateTypeController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateTypeController.java index 33ed06f7..97b44fbf 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateTypeController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateTypeController.java @@ -40,7 +40,7 @@ import jakarta.servlet.http.HttpServletResponse; @RestController @AllArgsConstructor @RequestMapping("/certificateType") -@Tag(name = "证书类型", description = "证书类型接口") +@Tag(name = "证书类型维护", description = "证书类型维护接口") public class CertificateTypeController extends BladeController { private final ICertificateTypeService certificateTypeService; diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CultivateDetailController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CultivateDetailController.java index 0a8d9002..30bbbdf6 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CultivateDetailController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CultivateDetailController.java @@ -49,7 +49,7 @@ import jakarta.servlet.http.HttpServletResponse; @RestController @AllArgsConstructor @RequestMapping("/cultivateDetail") -@Tag(name = "培训安排", description = "培训安排接口") +@Tag(name = "培训记录管理", description = "培训记录管理接口") public class CultivateDetailController extends BladeController { private final ICultivateDetailService cultivateDetailService; diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java index d3437a40..019f5f9e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java @@ -50,7 +50,7 @@ import jakarta.servlet.http.HttpServletResponse; @RestController @AllArgsConstructor @RequestMapping("/equipmentMaintenance") -@Tag(name = "岗位设备维护", description = "岗位设备维护接口") +@Tag(name = "人员设备台账", description = "人员设备台账接口") public class EquipmentMaintenanceController extends BladeController { private final IEquipmentMaintenanceService equipmentMaintenanceService; diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/PostHandleController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/PostHandleController.java index c6a5f332..1663826f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/PostHandleController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/PostHandleController.java @@ -52,7 +52,7 @@ import org.springframework.web.multipart.MultipartFile; @RestController @AllArgsConstructor @RequestMapping("/postHandle") -@Tag(name = "岗位处理", description = "岗位处理接口") +@Tag(name = "人员岗位管理", description = "人员岗位管理接口") public class PostHandleController extends BladeController { private final IPostHandleService postHandleService; @@ -215,7 +215,7 @@ public class PostHandleController extends BladeController { public ResponseEntity downloadExcelTemplate() { return ExcelExtUtil.downloadXlsTemplate( "Excel/jobTransfer/岗位处理导入模板下载.xls", - "岗位处理导入模板下载.xls"); + "岗位处理导入模板.xls"); } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml index 93194c53..0f99410e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml @@ -131,7 +131,7 @@ LEFT JOIN BA_TEAM_SET bd ON ph.DEPT_ID = bd.ID LEFT JOIN MES_CERTIFICATE_MAINTENANCE cm ON ph.id = cm.ph_id AND cm.is_deleted = 0 LEFT JOIN MES_CERTIFICATE_TYPE ct ON cm.certificate_id = ct.id AND ct.is_deleted = 0 - WHERE ph.is_deleted = 0 + WHERE ph.is_deleted = 0 and ph.staff_type != 1 AND ph.name LIKE CONCAT(CONCAT('%', #{query.name}), '%') diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml index 5c5d66f2..485ff45d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml @@ -110,7 +110,7 @@ LEFT JOIN BA_TEAM_SET bd ON ph.DEPT_ID = bd.ID LEFT JOIN MES_EQUIPMENT_MAINTENANCE em ON ph.id = em.ph_id AND em.is_deleted = 0 LEFT JOIN MES_EQUIPMENT equipment ON em.equipment_id = equipment.id AND equipment.is_deleted = 0 - WHERE ph.is_deleted = 0 + WHERE ph.is_deleted = 0 and ph.staff_type != 1 AND ph.name LIKE CONCAT(CONCAT('%', #{query.name}), '%') diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICertificateMaintenanceService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICertificateMaintenanceService.java index a0e5d0b9..dba9d2d0 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICertificateMaintenanceService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICertificateMaintenanceService.java @@ -1,8 +1,10 @@ package org.springblade.desk.jobTransfer.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.springblade.core.tool.api.R; import org.springblade.desk.jobTransfer.pojo.entity.CertificateMaintenanceEntity; import org.springblade.desk.jobTransfer.pojo.excel.CertificateMaintenanceExcel; +import org.springblade.desk.jobTransfer.pojo.excel.CertificateMaintenanceImport; import org.springblade.desk.jobTransfer.pojo.request.CertificateLedgerQuery; import org.springblade.desk.jobTransfer.pojo.vo.CertificateLedgerVO; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -47,4 +49,12 @@ public interface ICertificateMaintenanceService extends BaseService certificateMaintenances); + + /** + * 导入 + * + * @param certificateMaintenanceImports + * @return + */ + R saveExcelData(List certificateMaintenanceImports); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CertificateMaintenanceServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CertificateMaintenanceServiceImpl.java index df4c6118..89c27b2c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CertificateMaintenanceServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CertificateMaintenanceServiceImpl.java @@ -1,18 +1,30 @@ package org.springblade.desk.jobTransfer.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import jakarta.annotation.Resource; +import org.springblade.core.tool.api.R; +import org.springblade.desk.jobTransfer.mapper.CertificateTypeMapper; +import org.springblade.desk.jobTransfer.mapper.PostHandleMapper; import org.springblade.desk.jobTransfer.pojo.entity.CertificateMaintenanceEntity; +import org.springblade.desk.jobTransfer.pojo.entity.PostHandleEntity; +import org.springblade.desk.jobTransfer.pojo.enums.PostHandleStatusEnum; +import org.springblade.desk.jobTransfer.pojo.enums.StaffTypeEnum; import org.springblade.desk.jobTransfer.pojo.excel.CertificateMaintenanceExcel; +import org.springblade.desk.jobTransfer.pojo.excel.CertificateMaintenanceImport; import org.springblade.desk.jobTransfer.pojo.request.CertificateLedgerQuery; import org.springblade.desk.jobTransfer.pojo.vo.CertificateLedgerVO; import org.springblade.desk.jobTransfer.mapper.CertificateMaintenanceMapper; import org.springblade.desk.jobTransfer.service.ICertificateMaintenanceService; +import org.springblade.system.cache.UserCache; +import org.springblade.system.pojo.entity.UserInfo; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; import org.springframework.transaction.annotation.Transactional; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** * 证书维护 服务实现类 @@ -23,6 +35,12 @@ import java.util.List; @Service public class CertificateMaintenanceServiceImpl extends BaseServiceImpl implements ICertificateMaintenanceService { + @Resource + private PostHandleMapper postHandleMapper; + + @Resource + private CertificateTypeMapper certificateTypeMapper; + @Override public IPage selectCertificateMaintenancePage(IPage page, CertificateLedgerQuery certificateLedgerQuery) { return page.setRecords(baseMapper.selectCertificateMaintenancePage(page, certificateLedgerQuery)); @@ -53,7 +71,44 @@ public class CertificateMaintenanceServiceImpl extends BaseServiceImpl certificateMaintenanceImports) { + //获取全部用户codes,通过code获取用户ID, + Set codes = certificateMaintenanceImports.stream().map(CertificateMaintenanceImport::getUserCode) + .collect(Collectors.toSet()); + Map idCodeMap = codes.stream() + .map(code -> { + UserInfo userInfo = UserCache.getUserByCode(code); + return (userInfo != null && userInfo.getUser() != null) ? + new AbstractMap.SimpleEntry<>(code, userInfo.getUser().getId()) : null; + }) + .filter(Objects::nonNull) + .collect(Collectors.toMap(AbstractMap.SimpleEntry::getValue, AbstractMap.SimpleEntry::getKey)); + //根据用户id获取人员岗位数据 + Collection values = idCodeMap.keySet(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(PostHandleEntity::getUserId, values) + .eq(PostHandleEntity::getStaffType, StaffTypeEnum.FORMAL.getCode().shortValue()) + .ne(PostHandleEntity::getPhStatus, PostHandleStatusEnum.DEPART.getCode().shortValue()); // 使用实体类的get方法引用 + List postHandleEntities = postHandleMapper.selectList(lambdaQueryWrapper); + Map idMap = postHandleEntities.stream().collect(Collectors.toMap( + entity -> entity.getUserId(), + entity -> entity.getId())); + //整合成一个用户code和PostHandleEntityId的map + Map codePostHandleIdMap = new HashMap<>(); + for (Long l : idMap.keySet()) { + codePostHandleIdMap.put(idCodeMap.get(l), idMap.get(l)); + } + codes.removeAll(codePostHandleIdMap.keySet()); + if (codes.size() > 0) { + return R.fail("工号:" + String.join(",", codes) + "不存在。"); + } + //获取全部证书类型 + Set certificateType = certificateMaintenanceImports.stream().map(CertificateMaintenanceImport::getCertificateType) + .collect(Collectors.toSet()); + return null; + } } diff --git a/blade-service/blade-desk/src/main/resources/Excel/jobTransfer/证书维护导入模板.xls b/blade-service/blade-desk/src/main/resources/Excel/jobTransfer/证书维护导入模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..5cd5f217ca6662af48c0e0d04f3326ce7f6b2ea1 GIT binary patch literal 20480 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

0%CAAr zjOPvTdj>s_3V)8yqbLyKO{E(_vOD}bSlAviEd$pz05|GX8U!?iB#YYH@JMxwV2UP| z;Q)xNZ>cD2!7;hWyt}+!0K2#xGesFKQ)a3tgSmLs`XMwMKECTt?+EEVo{*0_HhgZ5 zMgv?Uf-o$wVW?X+49@$NV4q-@hAEVik1p|`gm`p`5C3a|)}TvT@LwnRvJ71kKnW9F z(uNYsaSDDvjrShZrzgRWHU&kARH4XA8F~lwSPReq*ngYDCy;MS4pDv_4A2C~Jt60V z$L2Gvl|Vw^-+_#X7LO8`Hnl*o3c6OU{|dUTP3?X6^Gu--8P{EG zo+B+I3~_sh4yNEJf8Us>{^_X+lSXHROd6Y!{48>L7$Kk|E*{S!10;Qs*0 Ck?ZCF literal 0 HcmV?d00001 From b28bdc17c44fa3679fd3dd7cd699b6e8f907d50c Mon Sep 17 00:00:00 2001 From: qinyulong Date: Wed, 14 Jan 2026 16:02:10 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=B2=97=E4=BD=8D?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=8A=A0=E5=AD=97=E6=AE=B5=EF=BC=9A=E6=80=A7?= =?UTF-8?q?=E5=88=AB=EF=BC=8C=E6=89=8B=E6=9C=BA=E5=8F=B7+=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E5=85=A5=E8=81=8C=E5=B7=A5=E4=BD=9C=E6=97=B6=E9=95=BF?= =?UTF-8?q?=E3=80=81=E7=A4=BE=E4=BC=9A=E5=B7=A5=E4=BD=9C=E6=97=B6=E9=95=BF?= =?UTF-8?q?=E3=80=81=E5=90=88=E5=90=8C=E5=88=B0=E6=9C=9F=E6=97=B6=E9=95=BF?= =?UTF-8?q?+=E8=A1=A8=E7=BB=93=E6=9E=84=E5=8F=98=E6=9B=B4sql=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/entity/PostHandleEntity.java | 10 +++ .../jobTransfer/pojo/enums/GenderEnum.java | 57 +++++++++++++++++ .../pojo/excel/PostHandleExcel.java | 12 ++++ .../pojo/excel/PostHandleImport.java | 9 ++- .../jobTransfer/pojo/vo/PostHandleVO.java | 63 ++++++++++++++++++- .../mapper/CertificateMaintenanceMapper.xml | 2 + .../mapper/EquipmentMaintenanceMapper.xml | 2 + .../jobTransfer/mapper/PostHandleMapper.xml | 4 ++ .../service/impl/PostHandleServiceImpl.java | 2 + doc/sql/mes/increase-260113.sql | 9 +++ 10 files changed, 167 insertions(+), 3 deletions(-) create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/GenderEnum.java diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/PostHandleEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/PostHandleEntity.java index 3f7a2a59..ca2b9d43 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/PostHandleEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/PostHandleEntity.java @@ -81,6 +81,16 @@ public class PostHandleEntity extends BaseEntity { */ @Schema(description = "婚姻状态(0未婚,1已婚)") private String marriage; + /** + * 性别(0女,1男) + */ + @Schema(description = "性别(0女,1男)") + private String gender; + /** + * 手机号 + */ + @Schema(description = "手机号") + private String mobile; /** * 毕业院校 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/GenderEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/GenderEnum.java new file mode 100644 index 00000000..8102a07c --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/GenderEnum.java @@ -0,0 +1,57 @@ +package org.springblade.desk.jobTransfer.pojo.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.springblade.core.tool.utils.ObjectUtil; +import org.springblade.core.tool.utils.StringPool; + +import java.util.Arrays; + +/** + * 性别枚举 + * + * @author qyl + * @date 2026-01-14 + */ +@Getter +@AllArgsConstructor +public enum GenderEnum { + EMPTY(StringPool.EMPTY, ""), + + /** + * 状态枚举 + */ + MAN("男", "1"), + WOMAN("女", "0"), + ; + final String name; + final String code; + + /** + * 匹配枚举值 + * + * @param name 名称 + * @return + */ + public static GenderEnum of(String name) { + return Arrays.stream(GenderEnum.values()) + .filter(enumItem -> enumItem.getName().equalsIgnoreCase(name != null ? name : "")) + .findFirst() + // 在没有找到匹配项时返回默认值 + .orElse(GenderEnum.EMPTY); + } + + /** + * 根据值获取名称 + * + * @param code + * @return + */ + public static String getName(String code) { + GenderEnum item = Arrays.stream(GenderEnum.values()) + .filter(enumItem -> enumItem.getCode().equalsIgnoreCase(code)) + .findFirst() + .orElse(null); + return ObjectUtil.isEmpty(item) ? StringPool.EMPTY : item.getName(); + } +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleExcel.java index 16e65d16..743df5a3 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleExcel.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleExcel.java @@ -41,6 +41,12 @@ public class PostHandleExcel implements Serializable { @ColumnWidth(20) @ExcelProperty("民族") private String nation; + /** + * 性别 + */ + @ColumnWidth(20) + @ExcelProperty("性别") + private String gender; /** * 年龄 */ @@ -155,6 +161,12 @@ public class PostHandleExcel implements Serializable { @ColumnWidth(20) @ExcelProperty("转岗时间") private Date toNewJob; + /** + * 手机号 + */ + @ColumnWidth(20) + @ExcelProperty("手机号") + private String mobile; /** * 1实习-培训中,2转岗中,3正常,4下岗中,5离职,6培训合格,7培训不合格 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleImport.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleImport.java index f8234e17..77f668a1 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleImport.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleImport.java @@ -27,10 +27,10 @@ public class PostHandleImport extends BaseEntity { @ExcelProperty(index = 0) private String code; /** - * 名称 + * 性别 */ @ExcelProperty(index = 1) - private String name; + private String gender; /** * 民族 */ @@ -127,4 +127,9 @@ public class PostHandleImport extends BaseEntity { */ @ExcelProperty(index = 19) private String address; + /** + * 手机号 + */ + @ExcelProperty(index = 20) + private String mobile; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/PostHandleVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/PostHandleVO.java index ffc71e83..7aa66e25 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/PostHandleVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/PostHandleVO.java @@ -7,6 +7,10 @@ import lombok.EqualsAndHashCode; import org.springblade.desk.jobTransfer.pojo.enums.*; import java.io.Serial; +import java.time.LocalDate; +import java.time.Period; +import java.time.ZoneId; +import java.util.Date; /** * 岗位处理 视图实体类 @@ -38,9 +42,21 @@ public class PostHandleVO extends PostHandleEntity { //技能等级名 @Schema(description = "技能等级名") private String skillName; - //技能等级名 + //婚姻名 @Schema(description = "婚姻名") private String marriageName; + //性别名 + @Schema(description = "性别名") + private String genderName; + //入职工作时长 +// @Schema(description = "入职工作时长") +// private Short beInOfficeDuration; +// //社会工作时长 +// @Schema(description = "社会工作时长") +// private Short socialWorkingDuration; +// //合同到期时长 +// @Schema(description = "合同到期时长") +// private Short contractDuration; public String getPhStatusName() { return PostHandleStatusEnum.getName(null != this.getPhStatus() ? this.getPhStatus().intValue() : null); @@ -57,4 +73,49 @@ public class PostHandleVO extends PostHandleEntity { public String getMarriageName() { return MarriageEnum.getName(null != this.getMarriage() ? this.getMarriage() : null); } + + public String getGenderName() { + return GenderEnum.getName(null != this.getGender() ? this.getGender() : null); + } + + public String getBeInOfficeDuration() { + if (null != this.getInJobDate()) { + return getCountYears(this.getInJobDate(), new Date()).toString(); + } + return ""; + } + + public String getSocialWorkingDuration() { + if (null != this.getJoinJobDate()) { + return getCountYears(this.getJoinJobDate(), new Date()).toString(); + } + return ""; + } + + public String getContractDuration() { + if (null != this.getConExpDate()) { + return getCountYears(new Date(), this.getConExpDate()).toString(); + } + return ""; + } + + private Short getCountYears(Date startTime, Date endTime) { + + LocalDate startDate = startTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + LocalDate endDate = endTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + + // 使用Period计算间隔 + Period period = Period.between(startDate, endDate); + int years = period.getYears(); + int months = period.getMonths(); + int days = period.getDays(); + + // 如果月数或天数大于0,则说明不满一年但已超出一个完整年份的周期,需要加1 + long workingYears = (months > 0 || days > 0) ? years + 1 : years; + + if (workingYears < Short.MIN_VALUE || workingYears > Short.MAX_VALUE) { + throw new ArithmeticException("工龄数值超出Short范围"); + } + return (short) workingYears; + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml index 0f99410e..fb44eea5 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml @@ -82,6 +82,8 @@ + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml index 485ff45d..afab02e0 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml @@ -70,6 +70,8 @@ + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.xml index 8c5f3a33..2faca7a3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.xml @@ -36,6 +36,8 @@ + + @@ -73,6 +75,8 @@ + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java index 00b7141f..c9df38a1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java @@ -317,6 +317,8 @@ public class PostHandleServiceImpl extends BaseServiceImpl