diff --git a/blade-common/src/main/java/org/springblade/common/cache/CacheNames.java b/blade-common/src/main/java/org/springblade/common/cache/CacheNames.java index 97909a3e..ffbafde1 100644 --- a/blade-common/src/main/java/org/springblade/common/cache/CacheNames.java +++ b/blade-common/src/main/java/org/springblade/common/cache/CacheNames.java @@ -32,6 +32,31 @@ package org.springblade.common.cache; */ public interface CacheNames { + //region 系统缓存 + /** + * 验证码key + */ + String CAPTCHA_KEY = "blade:auth::blade:captcha:"; + + /** + * 账号失败key + */ + String ACCOUNT_FAIL_KEY = "blade:lock::account:fail:"; + + /** + * IP失败key + */ + String IP_FAIL_KEY = "blade:lock::ip:fail:"; + //endregion + + //region 业务缓存 + /** + * 基础信息缓存 + */ + String BASIC = "mes:basic:"; + + //endregion + /** * 返回拼接后的key * @@ -55,19 +80,4 @@ public interface CacheNames { return tenantId.concat(":").concat(cacheKey).concat(cacheKeyValue); } - /** - * 验证码key - */ - String CAPTCHA_KEY = "blade:auth::blade:captcha:"; - - /** - * 账号失败key - */ - String ACCOUNT_FAIL_KEY = "blade:lock::account:fail:"; - - /** - * IP失败key - */ - String IP_FAIL_KEY = "blade:lock::ip:fail:"; - } diff --git a/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java b/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java index 0ff16892..83e6bdc6 100644 --- a/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java +++ b/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java @@ -14,9 +14,9 @@ public interface LauncherConstant { */ // String NACOS_NAMESPACE = "feaf627f-a847-463b-8b73-24a0538f526e"; // 生产环境 -// String NACOS_NAMESPACE = "db3f4da1-ae19-4104-8c17-6d9b8f069401"; + String NACOS_NAMESPACE = "db3f4da1-ae19-4104-8c17-6d9b8f069401"; // 测试环境 - String NACOS_NAMESPACE = "6cdd0310-0d61-4f54-891a-7fb06224d9b8"; +// String NACOS_NAMESPACE = "6cdd0310-0d61-4f54-891a-7fb06224d9b8"; /** * nacos 用户名 diff --git a/blade-ops/pom.xml b/blade-ops/pom.xml index 95cd78f2..98c9ba02 100644 --- a/blade-ops/pom.xml +++ b/blade-ops/pom.xml @@ -14,7 +14,7 @@ pom - blade-admin + blade-develop blade-job blade-log diff --git a/blade-service-api/blade-desk-api/pom.xml b/blade-service-api/blade-desk-api/pom.xml index a47cc24d..2182a907 100644 --- a/blade-service-api/blade-desk-api/pom.xml +++ b/blade-service-api/blade-desk-api/pom.xml @@ -24,6 +24,10 @@ org.springblade blade-starter-excel + + org.springblade + blade-common + org.springblade blade-resource-api diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/cache/WorkCenterCache.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/cache/WorkCenterCache.java new file mode 100644 index 00000000..288c08da --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/cache/WorkCenterCache.java @@ -0,0 +1,39 @@ +package org.springblade.desk.basic.cache; + +import org.springblade.common.cache.CacheNames; +import org.springblade.core.cache.utils.CacheUtil; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.SpringUtil; +import org.springblade.desk.basic.feign.IWorkCenterClient; +import org.springblade.desk.basic.pojo.entity.WorkCenter; + +/** + * 系统缓存 + * + * @author Chill + */ +public class WorkCenterCache { + private static final String WORK_CENTER_CACHE_ID = "workCenter:id:"; + + private static IWorkCenterClient workCenterClient; + + private static IWorkCenterClient getWorkCenterClient() { + if (workCenterClient == null) { + workCenterClient = SpringUtil.getBean(IWorkCenterClient.class); + } + return workCenterClient; + } + + /** + * 获取用户 + * + * @param workCenterId 作业中心id + * @return + */ + public static WorkCenter getById(Long workCenterId) { + return CacheUtil.get(CacheNames.BASIC, WORK_CENTER_CACHE_ID, workCenterId, () -> { + R result = getWorkCenterClient().getById(workCenterId); + return result.getData(); + }); + } +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/feign/IWorkCenterClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/feign/IWorkCenterClient.java new file mode 100644 index 00000000..2bc3aadc --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/basic/feign/IWorkCenterClient.java @@ -0,0 +1,57 @@ +/** + * 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.basic.feign; + + +import org.springblade.core.launch.constant.AppConstant; +import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.pojo.entity.WorkCenter; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * 作业中心 Feign接口类 + * + * @author lqk + */ +@FeignClient( + value = AppConstant.APPLICATION_DESK_NAME +) +public interface IWorkCenterClient { + + String API_PREFIX = "/feign/workCenter"; + String GET_BY_ID = API_PREFIX + "/getById"; + + /** + * 根据id获取作业中心 + * + * @param workCenterId 作业中心id + * @return + */ + @GetMapping(GET_BY_ID) + R getById(@RequestParam("id") Long workCenterId); +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsCraftAbilityDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsCraftAbilityDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsCraftAbilityDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsCraftAbilityDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingTypeAssignDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingTypeAssignDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingTypeAssignDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingTypeAssignDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingTypeDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingTypeDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingTypeDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingTypeDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingTypeSmallDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingTypeSmallDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingTypeSmallDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsPlatingTypeSmallDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsProcessGroupDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsProcessGroupDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsProcessGroupDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsProcessGroupDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsProcessSetDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsProcessSetDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsProcessSetDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsProcessSetDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsProcessTeamDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsProcessTeamDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsProcessTeamDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsProcessTeamDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsTeamSetDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsTeamSetDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsTeamSetDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsTeamSetDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsWorkCenterDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsWorkCenterDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsWorkCenterDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/BsWorkCenterDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreservePlanDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreservePlanDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreservePlanDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreservePlanDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreserveTaskDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreserveTaskDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreserveTaskDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchPreserveTaskDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchWorkCenterSetDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchWorkCenterSetDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchWorkCenterSetDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBatchWorkCenterSetDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBomDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBomDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBomDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsBomDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsCraftDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsCraftDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsCraftDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsCraftDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsHourQuotaDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsHourQuotaDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsHourQuotaDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsHourQuotaDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsHourQuotaDetailDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsHourQuotaDetailDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsHourQuotaDetailDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsHourQuotaDetailDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsMainSaltAddQuantityDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsMainSaltAddQuantityDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsMainSaltAddQuantityDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsMainSaltAddQuantityDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsPartDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsPartDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsPartDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsPartDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsPartRelationDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsPartRelationDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsPartRelationDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsPartRelationDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProDetailDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProDetailDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProDetailDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProDetailDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProModelDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProModelDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProModelDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProModelDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessMeasuringToolDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessMeasuringToolDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessMeasuringToolDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessMeasuringToolDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessMoldToolDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessMoldToolDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessMoldToolDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessMoldToolDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessProjectDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessProjectDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessProjectDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsProcessProjectDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsSimilarPartsDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsSimilarPartsDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsSimilarPartsDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsSimilarPartsDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsSpecialProDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsSpecialProDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsSpecialProDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsSpecialProDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsTaskBillDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsTaskBillDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsTaskBillDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsTaskBillDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsTaskingDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsTaskingDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsTaskingDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/DsTaskingDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/PrReworkProcessDTO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/PrReworkProcessDTO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/dto/PrReworkProcessDTO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/dto/PrReworkProcessDTO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsCraftAbilityEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsCraftAbilityEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsCraftAbilityEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsCraftAbilityEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingTypeAssignEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingTypeAssignEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingTypeAssignEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingTypeAssignEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingTypeEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingTypeEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingTypeEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingTypeEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingTypeSmallEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingTypeSmallEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingTypeSmallEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsPlatingTypeSmallEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessGroupEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessGroupEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessGroupEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessGroupEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessSetEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessSetEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessSetEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessSetEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessTeamEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessTeamEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessTeamEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsProcessTeamEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsTeamSetEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsTeamSetEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsTeamSetEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsTeamSetEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsWorkCenterEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsWorkCenterEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsWorkCenterEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsWorkCenterEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreservePlanEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreservePlanEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreservePlanEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreservePlanEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreserveTaskEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreserveTaskEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreserveTaskEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchPreserveTaskEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchWorkCenterSetEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchWorkCenterSetEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchWorkCenterSetEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBatchWorkCenterSetEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBomEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBomEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBomEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsBomEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsCraftEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsCraftEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsCraftEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsCraftEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsHourQuotaDetailEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsHourQuotaDetailEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsHourQuotaDetailEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsHourQuotaDetailEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsHourQuotaEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsHourQuotaEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsHourQuotaEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsHourQuotaEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsMainSaltAddQuantityEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsMainSaltAddQuantityEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsMainSaltAddQuantityEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsMainSaltAddQuantityEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartRelationEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartRelationEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartRelationEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartRelationEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProDetailEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProDetailEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProDetailEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProDetailEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProModelEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProModelEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProModelEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProModelEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessMeasuringToolEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessMeasuringToolEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessMeasuringToolEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessMeasuringToolEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessMoldToolEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessMoldToolEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessMoldToolEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessMoldToolEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessProjectEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessProjectEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessProjectEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsProcessProjectEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSimilarPartsEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSimilarPartsEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSimilarPartsEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSimilarPartsEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSpecialProEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSpecialProEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSpecialProEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsSpecialProEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskBillEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskBillEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskBillEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskBillEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskingEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskingEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskingEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskingEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/PrReworkProcessEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/PrReworkProcessEntity.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/entity/PrReworkProcessEntity.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/PrReworkProcessEntity.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsCompilationCompletedVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsCompilationCompletedVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsCompilationCompletedVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsCompilationCompletedVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsCraftAbilityVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsCraftAbilityVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsCraftAbilityVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsCraftAbilityVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeAssignVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeAssignVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeAssignVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeAssignVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeListVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeListVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeListVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeListVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeSmallVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeSmallVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeSmallVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeSmallVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingTypeVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsPlatingVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsProcessGroupVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsProcessGroupVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsProcessGroupVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsProcessGroupVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsProcessSetVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsProcessSetVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsProcessSetVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsProcessSetVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsProcessTeamVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsProcessTeamVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsProcessTeamVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsProcessTeamVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsTeamProcessVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsTeamProcessVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsTeamProcessVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsTeamProcessVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsTeamSetEntityVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsTeamSetEntityVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsTeamSetEntityVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsTeamSetEntityVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsTeamSetVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsTeamSetVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsTeamSetVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsTeamSetVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsWorkCenterVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsWorkCenterVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsWorkCenterVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/BsWorkCenterVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/CraftTreeVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/CraftTreeVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/CraftTreeVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/CraftTreeVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreservePlanVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreservePlanVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreservePlanVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreservePlanVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreserveTaskVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreserveTaskVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreserveTaskVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchPreserveTaskVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchWorkCenterSetVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchWorkCenterSetVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchWorkCenterSetVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBatchWorkCenterSetVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBomVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBomVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBomVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsBomVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsCraftExpireVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsCraftExpireVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsCraftExpireVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsCraftExpireVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsCraftVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsCraftVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsCraftVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsCraftVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsHourQuotaDetailVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsHourQuotaDetailVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsHourQuotaDetailVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsHourQuotaDetailVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsHourQuotaVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsHourQuotaVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsHourQuotaVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsHourQuotaVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsMainSaltAddQuantityVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsMainSaltAddQuantityVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsMainSaltAddQuantityVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsMainSaltAddQuantityVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsModelAndDetailVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsModelAndDetailVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsModelAndDetailVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsModelAndDetailVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartAuthorizedVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartAuthorizedVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartAuthorizedVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartAuthorizedVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartBomVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartBomVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartBomVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartBomVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartCodeAndPartNameVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartCodeAndPartNameVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartCodeAndPartNameVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartCodeAndPartNameVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartRelationVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartRelationVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartRelationVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartRelationVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartSynthesisVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartSynthesisVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartSynthesisVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartSynthesisVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartTreeVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartTreeVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartTreeVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartTreeVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProDetailVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProDetailVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProDetailVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProDetailVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelDetailListVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelDetailListVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelDetailListVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelDetailListVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProModelVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessMeasuringToolVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessMeasuringToolVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessMeasuringToolVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessMeasuringToolVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessMoldToolVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessMoldToolVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessMoldToolVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessMoldToolVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessProjectVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessProjectVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessProjectVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessProjectVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessSaveVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessSaveVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessSaveVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessSaveVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessSynthesisVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessSynthesisVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessSynthesisVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessSynthesisVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsProcessVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsReworkTaskVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsReworkTaskVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsReworkTaskVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsReworkTaskVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSimilarPartsVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSimilarPartsVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSimilarPartsVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSimilarPartsVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSpecialProVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSpecialProVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSpecialProVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsSpecialProVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsTaskBillVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsTaskBillVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsTaskBillVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsTaskBillVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsTaskingVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsTaskingVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsTaskingVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsTaskingVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/PrReworkCompilationCompletedVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/PrReworkCompilationCompletedVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/PrReworkCompilationCompletedVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/PrReworkCompilationCompletedVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/PrReworkProcessVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/PrReworkProcessVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/PrReworkProcessVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/PrReworkProcessVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/ProcessTreeVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/ProcessTreeVO.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/ProcessTreeVO.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/ProcessTreeVO.java diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/SyncResult.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/SyncResult.java similarity index 100% rename from blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/pojo/vo/SyncResult.java rename to blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/SyncResult.java 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 120f7807..1de7aa0c 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 @@ -144,7 +144,16 @@ public class EquipmentEntity extends BaseEntity { */ @Schema(description = "附件链接") private String attachLink; - + /** + * 设备位置 + */ + @Schema(description = "设备位置") + private String equipmentLocation; + /** + * 作业中心ID + */ + @Schema(description = "作业中心ID") + private Long workstationId; public void setDocking(String docking) { // 核心逻辑:如果传入的是 null 或空字符串,则使用默认值 "0" if (docking == null || docking.trim().isEmpty()) { diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/EquipmentExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/EquipmentExcel.java index 6b34982c..cdbe1b3a 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/EquipmentExcel.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/device/pojo/excel/EquipmentExcel.java @@ -124,8 +124,14 @@ public class EquipmentExcel implements Serializable { @ColumnWidth(20) @ExcelProperty("设备分类") private String categorys; + /** + * 设备位置 + */ @ColumnWidth(20) + @ExcelProperty("设备位置") + private String equipmentLocation; + @ColumnWidth(20) @ExcelProperty("附件链接") private String attachLink; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/CertificateMaintenanceEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/CertificateMaintenanceEntity.java new file mode 100644 index 00000000..0b8b4a4a --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/CertificateMaintenanceEntity.java @@ -0,0 +1,65 @@ +package org.springblade.desk.jobTransfer.pojo.entity; + +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.util.Date; + +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.io.Serial; + +/** + * 证书维护 实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@TableName("MES_CERTIFICATE_MAINTENANCE") +@Schema(description = "CertificateMaintenance对象") +@EqualsAndHashCode(callSuper = true) +public class CertificateMaintenanceEntity extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 岗位处理ID + */ + @Schema(description = "岗位处理ID") + private Long phId; + /** + * 证书类型ID + */ + @Schema(description = "证书类型ID") + private Long certificateId; + /** + * 证书编号 + */ + @Schema(description = "证书编号") + private String certificateCode; + /** + * 证书日期 + */ + @Schema(description = "证书日期") + private Date certificateDate; + /** + * 适航日期 + */ + @Schema(description = "适航日期") + private Date airworthinessDate; + /** + * 宇航日期 + */ + @Schema(description = "宇航日期") + private Date astronautDate; + /** + * 维护状态(1正常,2到期,3离职) + */ + @Schema(description = "维护状态(1正常,2到期,3离职)") + private Short maintenanceStatus; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/CertificateTypeEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/CertificateTypeEntity.java new file mode 100644 index 00000000..09ca27d6 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/CertificateTypeEntity.java @@ -0,0 +1,47 @@ +package org.springblade.desk.jobTransfer.pojo.entity; + +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.io.Serial; + +/** + * 证书类型 实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@TableName("MES_CERTIFICATE_TYPE") +@Schema(description = "CertificateType对象") +@EqualsAndHashCode(callSuper = true) +public class CertificateTypeEntity extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 证书名称 + */ + @Schema(description = "证书名称") + private String name; + /** + * 证书有效期 + */ + @Schema(description = "证书有效期") + private Short validityPeriod; + /** + * 适航有效期 + */ + @Schema(description = "适航有效期") + private Short airworthinessValidityPeriod; + /** + * 宇航有效期 + */ + @Schema(description = "宇航有效期") + private Short astronautValidityPeriod; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/CultivateDetailEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/CultivateDetailEntity.java new file mode 100644 index 00000000..705554c4 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/CultivateDetailEntity.java @@ -0,0 +1,75 @@ +package org.springblade.desk.jobTransfer.pojo.entity; + +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.util.Date; + +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.io.Serial; + +/** + * 培训安排 实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@TableName("MES_CULTIVATE_DETAIL") +@Schema(description = "CultivateDetail对象") +@EqualsAndHashCode(callSuper = true) +public class CultivateDetailEntity extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 岗位处理ID + */ + @Schema(description = "岗位处理ID") + private Long phId; + /** + * 培训类型(1实习,2转岗,3下岗) + */ + @Schema(description = "培训类型(1实习,2转岗,3下岗)") + private Short type; + /** + * 培训模板ID + */ + @Schema(description = "培训模板ID") + private Long planId; + /** + * 培训师ID + */ + @Schema(description = "培训师ID") + private Long teacherId; + /** + * 培训师 + */ + @Schema(description = "培训师") + private String teacherName; + /** + * 培训状态(1未配置,2等待下发,3已下发-培训中,4已到期,5已培训-待确认,6培训完成) + */ + @Schema(description = "培训状态(1未配置,2等待下发,3已下发-培训中,4已到期,5已培训-待确认,6培训完成)") + private Short caStatus; + /** + * 下发时间 + */ + @Schema(description = "下发时间") + private Date distributeTime; + /** + * 完成时间 + */ + @Schema(description = "完成时间") + private Date finishTime; + /** + * 附件链接 + */ + @Schema(description = "附件链接") + private String attachLink; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/EquipmentMaintenanceEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/EquipmentMaintenanceEntity.java new file mode 100644 index 00000000..82932104 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/EquipmentMaintenanceEntity.java @@ -0,0 +1,55 @@ +package org.springblade.desk.jobTransfer.pojo.entity; + +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.util.Date; + +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.io.Serial; + +/** + * 岗位设备维护 实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@TableName("MES_EQUIPMENT_MAINTENANCE") +@Schema(description = "EquipmentMaintenance对象") +@EqualsAndHashCode(callSuper = true) +public class EquipmentMaintenanceEntity extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 岗位处理ID + */ + @Schema(description = "岗位处理ID") + private Long phId; + /** + * 设备ID + */ + @Schema(description = "设备ID") + private Long equipmentId; + /** + * 设备有效期 + */ + @Schema(description = "设备有效期") + private Integer equipmentValidityPeriod; + /** + * 设备日期 + */ + @Schema(description = "设备日期") + private Date equipmentDate; + /** + * 维护状态(1正常,2到期,3离职) + */ + @Schema(description = "维护状态(1正常,2到期,3离职)") + private Short maintenanceStatus; + +} 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 new file mode 100644 index 00000000..3f7a2a59 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/PostHandleEntity.java @@ -0,0 +1,145 @@ +package org.springblade.desk.jobTransfer.pojo.entity; + +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableName; + +import java.util.Date; + +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.io.Serial; + +/** + * 岗位处理 实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@TableName("MES_POST_HANDLE") +@Schema(description = "PostHandle对象") +@EqualsAndHashCode(callSuper = true) +public class PostHandleEntity extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 用户ID + */ + @Schema(description = "用户ID") + private Long userId; + /** + * 名称 + */ + @Schema(description = "名称") + private String name; + /** + * 民族 + */ + @Schema(description = "民族") + private String nation; + /** + * 年龄 + */ + @Schema(description = "年龄") + private Short age; + /** + * 身份证号码 + */ + @Schema(description = "身份证号码") + private String idCard; + /** + * 籍贯 + */ + @Schema(description = "籍贯") + private String nativePlace; + /** + * 班组ID + */ + @Schema(description = "班组ID") + private Long deptId; + /** + * 所属岗位 + */ + @Schema(description = "所属岗位") + private String station; + /** + * 出生日期 + */ + @Schema(description = "出生日期") + private Date dataBirth; + /** + * 政治面貌 + */ + @Schema(description = "政治面貌") + private String face; + /** + * 婚姻状态(0未婚,1已婚) + */ + @Schema(description = "婚姻状态(0未婚,1已婚)") + private String marriage; + /** + * 毕业院校 + */ + @Schema(description = "毕业院校") + private String school; + /** + * 所学专业 + */ + @Schema(description = "所学专业") + private String major; + /** + * 最高学历 + */ + @Schema(description = "最高学历") + private String education; + /** + * 毕业时间 + */ + @Schema(description = "毕业时间") + private Date endDate; + /** + * 用工类型 + */ + @Schema(description = "用工类型(1实习工,2正式工)") + private Short staffType; + /** + * 参加工作时间 + */ + @Schema(description = "参加工作时间") + private Date joinJobDate; + /** + * 技能等级 + */ + @Schema(description = "技能等级") + private Short skill; + /** + * 任现职时间 + */ + @Schema(description = "任现职时间") + private Date inJobDate; + /** + * 合同到期 + */ + @Schema(description = "合同到期") + private Date conExpDate; + /** + * 家庭住址 + */ + @Schema(description = "家庭住址") + private String address; + /** + * 转岗时间 + */ + @Schema(description = "转岗时间") + private Date toNewJob; + /** + * 1实习-培训中,2转岗中,3正常,4下岗中,5离职,6转岗培训合格,7下岗培训合格,8实习培训合格,9培训不合格 + */ + @Schema(description = "1实习-培训中,2转岗中,3正常,4下岗中,5离职,6转岗培训合格,7下岗培训合格,8实习培训合格,9培训不合格") + private Short phStatus; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/TrainingPlanEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/TrainingPlanEntity.java new file mode 100644 index 00000000..1dec4736 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/TrainingPlanEntity.java @@ -0,0 +1,62 @@ +package org.springblade.desk.jobTransfer.pojo.entity; + +import lombok.Data; +import io.swagger.v3.oas.annotations.media.Schema; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.io.Serial; + +/** + * 培训计划模板 实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@TableName("MES_TRAINING_PLAN") +@Schema(description = "TrainingPlan对象") +@EqualsAndHashCode(callSuper = true) +public class TrainingPlanEntity extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 培训计划名称 + */ + @Schema(description = "培训计划名称") + private String name; + /** + * 培训周期(天) + */ + @Schema(description = "培训周期(天)") + private Integer cycle; + /** + * 培训师ID + */ + @Schema(description = "培训师ID") + private Long teacherId; + /** + * 培训师名称 + */ + @Schema(description = "培训师名称") + private String teacherName; + /** + * 预警周期(天) + */ + @Schema(description = "预警周期(天)") + private Integer earlyWarningDay; + /** + * 备注 + */ + @Schema(description = "备注") + private String memo; + /** + * 附件链接 + */ + @Schema(description = "附件链接") + private String attachLink; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/CultivateStatusEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/CultivateStatusEnum.java new file mode 100644 index 00000000..a1abb2e4 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/CultivateStatusEnum.java @@ -0,0 +1,61 @@ +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-12 + */ +@Getter +@AllArgsConstructor +public enum CultivateStatusEnum { + EMPTY(StringPool.EMPTY, -1), + + /** + * 状态枚举 + */ + PRACTICE("实习", 1), + JOB_TRANSFER("转岗", 2), + LAYOFF("下岗", 3), + ; + final String name; + final Integer code; + + /** + * 匹配枚举值 + * + * @param name 名称 + * @return + */ + public static CultivateStatusEnum of(String name) { + return Arrays.stream(CultivateStatusEnum.values()) + .filter(enumItem -> enumItem.getName().equalsIgnoreCase(name != null ? name : "")) + .findFirst() + // 在没有找到匹配项时返回默认值 + .orElse(CultivateStatusEnum.EMPTY); + } + + /** + * 根据值获取名称 + * + * @param code + * @return + */ + public static String getName(Integer code) { + if (code == null) { + return StringPool.EMPTY; // 或者返回一个默认值,如 "UNKNOWN" + } + CultivateStatusEnum item = Arrays.stream(CultivateStatusEnum.values()) + .filter(enumItem -> enumItem.getCode() == 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/enums/MaintenanceStatusEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/MaintenanceStatusEnum.java new file mode 100644 index 00000000..259c07cc --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/MaintenanceStatusEnum.java @@ -0,0 +1,61 @@ +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-12 + */ +@Getter +@AllArgsConstructor +public enum MaintenanceStatusEnum { + EMPTY(StringPool.EMPTY, -1), + + /** + * 状态枚举 + */ + NORMAL("正常", 1), + DUE("到期", 2), + DEPART("离职", 3), + ; + final String name; + final Integer code; + + /** + * 匹配枚举值 + * + * @param name 名称 + * @return + */ + public static MaintenanceStatusEnum of(String name) { + return Arrays.stream(MaintenanceStatusEnum.values()) + .filter(enumItem -> enumItem.getName().equalsIgnoreCase(name != null ? name : "")) + .findFirst() + // 在没有找到匹配项时返回默认值 + .orElse(MaintenanceStatusEnum.EMPTY); + } + + /** + * 根据值获取名称 + * + * @param code + * @return + */ + public static String getName(Integer code) { + if (code == null) { + return StringPool.EMPTY; // 或者返回一个默认值,如 "UNKNOWN" + } + MaintenanceStatusEnum item = Arrays.stream(MaintenanceStatusEnum.values()) + .filter(enumItem -> enumItem.getCode() == 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/enums/MarriageEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/MarriageEnum.java new file mode 100644 index 00000000..0a5eba2b --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/MarriageEnum.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-09 + */ +@Getter +@AllArgsConstructor +public enum MarriageEnum { + EMPTY(StringPool.EMPTY, ""), + + /** + * 状态枚举 + */ + MARRIED("已婚", "1"), + SPINSTERHOOD("未婚", "0"), + ; + final String name; + final String code; + + /** + * 匹配枚举值 + * + * @param name 名称 + * @return + */ + public static MarriageEnum of(String name) { + return Arrays.stream(MarriageEnum.values()) + .filter(enumItem -> enumItem.getName().equalsIgnoreCase(name != null ? name : "")) + .findFirst() + // 在没有找到匹配项时返回默认值 + .orElse(MarriageEnum.EMPTY); + } + + /** + * 根据值获取名称 + * + * @param code + * @return + */ + public static String getName(String code) { + MarriageEnum item = Arrays.stream(MarriageEnum.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/enums/PostHandleStatusEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/PostHandleStatusEnum.java new file mode 100644 index 00000000..4ba3b663 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/PostHandleStatusEnum.java @@ -0,0 +1,67 @@ +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-09 + */ +@Getter +@AllArgsConstructor +public enum PostHandleStatusEnum { + EMPTY(StringPool.EMPTY, -1), + + /** + * 状态枚举 + */ + IN_PRACTICE("实习中", 1), + JOB_TRANSFER("转岗中", 2), + NORMALITY("正常", 3), + LAID_OFF("下岗中", 4), + DEPART("离职", 5), + JOB_TRANSFER_TRAINED("转岗培训合格", 6), + LAID_OFF_TRAINED("下岗培训合格", 7), + IN_PRACTICE_TRAINED("实习培训合格", 8), + UNQUALIFIED("培训不合格", 9), + ; + final String name; + final Integer code; + + /** + * 匹配枚举值 + * + * @param name 名称 + * @return + */ + public static PostHandleStatusEnum of(String name) { + return Arrays.stream(PostHandleStatusEnum.values()) + .filter(enumItem -> enumItem.getName().equalsIgnoreCase(name != null ? name : "")) + .findFirst() + // 在没有找到匹配项时返回默认值 + .orElse(PostHandleStatusEnum.EMPTY); + } + + /** + * 根据值获取名称 + * + * @param code + * @return + */ + public static String getName(Integer code) { + if (code == null) { + return StringPool.EMPTY; // 或者返回一个默认值,如 "UNKNOWN" + } + PostHandleStatusEnum item = Arrays.stream(PostHandleStatusEnum.values()) + .filter(enumItem -> enumItem.getCode() == 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/enums/SkillEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/SkillEnum.java new file mode 100644 index 00000000..5f9dcb02 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/SkillEnum.java @@ -0,0 +1,61 @@ +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-09 + */ +@Getter +@AllArgsConstructor +public enum SkillEnum { + EMPTY(StringPool.EMPTY, -1), + + /** + * 状态枚举 + */ + MIDDLE_RANK("中级", 1), + SENIOR("高级", 2), + ARTIFICER("技师", 3), + ; + final String name; + final Integer code; + + /** + * 匹配枚举值 + * + * @param name 名称 + * @return + */ + public static SkillEnum of(String name) { + return Arrays.stream(SkillEnum.values()) + .filter(enumItem -> enumItem.getName().equalsIgnoreCase(name != null ? name : "")) + .findFirst() + // 在没有找到匹配项时返回默认值 + .orElse(SkillEnum.EMPTY); + } + + /** + * 根据值获取名称 + * + * @param code + * @return + */ + public static String getName(Integer code) { + if (code == null) { + return StringPool.EMPTY; // 或者返回一个默认值,如 "UNKNOWN" + } + SkillEnum item = Arrays.stream(SkillEnum.values()) + .filter(enumItem -> enumItem.getCode() == 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/enums/StaffTypeEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/StaffTypeEnum.java new file mode 100644 index 00000000..9f64feef --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/StaffTypeEnum.java @@ -0,0 +1,60 @@ +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-09 + */ +@Getter +@AllArgsConstructor +public enum StaffTypeEnum { + EMPTY(StringPool.EMPTY, -1), + + /** + * 状态枚举 + */ + FIELD_WORK("实习工", 1), + FORMAL("正式工", 2), + ; + final String name; + final Integer code; + + /** + * 匹配枚举值 + * + * @param name 名称 + * @return + */ + public static StaffTypeEnum of(String name) { + return Arrays.stream(StaffTypeEnum.values()) + .filter(enumItem -> enumItem.getName().equalsIgnoreCase(name != null ? name : "")) + .findFirst() + // 在没有找到匹配项时返回默认值 + .orElse(StaffTypeEnum.EMPTY); + } + + /** + * 根据值获取名称 + * + * @param code + * @return + */ + public static String getName(Integer code) { + if (code == null) { + return StringPool.EMPTY; // 或者返回一个默认值,如 "UNKNOWN" + } + StaffTypeEnum item = Arrays.stream(StaffTypeEnum.values()) + .filter(enumItem -> enumItem.getCode() == 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/enums/TrainingStatusEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/TrainingStatusEnum.java new file mode 100644 index 00000000..ae79787f --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/TrainingStatusEnum.java @@ -0,0 +1,64 @@ +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-09 + */ +@Getter +@AllArgsConstructor +public enum TrainingStatusEnum { + EMPTY(StringPool.EMPTY, -1), + + /** + * 状态枚举 + */ + NOT_CONFIGURED("未配置", 1), + WAIT_DISTRIBUTE("等待下发", 2), + ISSUED("已下发-培训中", 3), + EXPIRED("已到期", 4), + TRAINED("已培训-待确认", 5), + OK_TRAINED("培训完成", 6), + ; + final String name; + final Integer code; + + /** + * 匹配枚举值 + * + * @param name 名称 + * @return + */ + public static TrainingStatusEnum of(String name) { + return Arrays.stream(TrainingStatusEnum.values()) + .filter(enumItem -> enumItem.getName().equalsIgnoreCase(name != null ? name : "")) + .findFirst() + // 在没有找到匹配项时返回默认值 + .orElse(TrainingStatusEnum.EMPTY); + } + + /** + * 根据值获取名称 + * + * @param code + * @return + */ + public static String getName(Integer code) { + if (code == null) { + return StringPool.EMPTY; // 或者返回一个默认值,如 "UNKNOWN" + } + TrainingStatusEnum item = Arrays.stream(TrainingStatusEnum.values()) + .filter(enumItem -> enumItem.getCode() == 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/CertificateMaintenanceExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CertificateMaintenanceExcel.java new file mode 100644 index 00000000..50c40010 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CertificateMaintenanceExcel.java @@ -0,0 +1,76 @@ +package org.springblade.desk.jobTransfer.pojo.excel; + + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; + +import java.io.Serializable; +import java.io.Serial; + + +/** + * 证书维护 Excel实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class CertificateMaintenanceExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 岗位处理ID + */ + @ColumnWidth(20) + @ExcelProperty("岗位处理ID") + private Long phId; + /** + * 证书类型ID + */ + @ColumnWidth(20) + @ExcelProperty("证书类型ID") + private Long certificateId; + /** + * 证书编号 + */ + @ColumnWidth(20) + @ExcelProperty("证书编号") + private String certificateCode; + /** + * 证书日期 + */ + @ColumnWidth(20) + @ExcelProperty("证书日期") + private Date certificateDate; + /** + * 适航日期 + */ + @ColumnWidth(20) + @ExcelProperty("适航日期") + private Date airworthinessDate; + /** + * 宇航日期 + */ + @ColumnWidth(20) + @ExcelProperty("宇航日期") + private Date astronautDate; + /** + * 维护状态(1正常,2到期,3离职) + */ + @ColumnWidth(20) + @ExcelProperty("维护状态(1正常,2到期,3离职)") + private Short maintenanceStatus; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CertificateTypeExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CertificateTypeExcel.java new file mode 100644 index 00000000..bd5a9703 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CertificateTypeExcel.java @@ -0,0 +1,58 @@ +package org.springblade.desk.jobTransfer.pojo.excel; + + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; + +import java.io.Serializable; +import java.io.Serial; + + +/** + * 证书类型 Excel实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class CertificateTypeExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 证书名称 + */ + @ColumnWidth(20) + @ExcelProperty("证书名称") + private String name; + /** + * 证书有效期 + */ + @ColumnWidth(20) + @ExcelProperty("证书有效期") + private Short validityPeriod; + /** + * 适航有效期 + */ + @ColumnWidth(20) + @ExcelProperty("适航有效期") + private Short airworthinessValidityPeriod; + /** + * 宇航有效期 + */ + @ColumnWidth(20) + @ExcelProperty("宇航有效期") + private Short astronautValidityPeriod; + +} 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 new file mode 100644 index 00000000..fd5fd1dd --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/CultivateDetailExcel.java @@ -0,0 +1,82 @@ +package org.springblade.desk.jobTransfer.pojo.excel; + + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; + +import java.io.Serializable; +import java.io.Serial; + + +/** + * 培训安排 Excel实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class CultivateDetailExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 岗位处理ID + */ + @ColumnWidth(20) + @ExcelProperty("岗位处理ID") + private Long phId; + /** + * 培训类型(1实习,2转岗,3下岗) + */ + @ColumnWidth(20) + @ExcelProperty("培训类型(1实习,2转岗,3下岗)") + private Short type; + /** + * 培训模板ID + */ + @ColumnWidth(20) + @ExcelProperty("培训模板ID") + private Long planId; + /** + * 培训师ID + */ + @ColumnWidth(20) + @ExcelProperty("培训师ID") + private Long teacherId; + /** + * 培训师 + */ + @ColumnWidth(20) + @ExcelProperty("培训师") + private String teacherName; + /** + * 培训状态(1未配置,2等待下发,3已下发-培训中,4已到期,5已培训-待确认,6培训完成) + */ + @ColumnWidth(20) + @ExcelProperty("培训状态(1未配置,2等待下发,3已下发-培训中,4已到期,5已培训-待确认,6培训完成)") + private Short caStatus; + /** + * 下发时间 + */ + @ColumnWidth(20) + @ExcelProperty("下发时间") + private Date distributeTime; + /** + * 附件链接 + */ + @ColumnWidth(20) + @ExcelProperty("附件链接") + private String attachLink; + +} 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 new file mode 100644 index 00000000..cf14166c --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/EquipmentMaintenanceExcel.java @@ -0,0 +1,64 @@ +package org.springblade.desk.jobTransfer.pojo.excel; + + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; + +import java.io.Serializable; +import java.io.Serial; + + +/** + * 岗位设备维护 Excel实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class EquipmentMaintenanceExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 岗位处理ID + */ + @ColumnWidth(20) + @ExcelProperty("岗位处理ID") + private Long phId; + /** + * 设备ID + */ + @ColumnWidth(20) + @ExcelProperty("设备ID") + private Long equipmentId; + /** + * 设备有效期 + */ + @ColumnWidth(20) + @ExcelProperty("设备有效期") + private Integer equipmentValidityPeriod; + /** + * 设备日期 + */ + @ColumnWidth(20) + @ExcelProperty("设备日期") + private Date equipmentDate; + /** + * 维护状态(1正常,2到期,3离职) + */ + @ColumnWidth(20) + @ExcelProperty("维护状态(1正常,2到期,3离职)") + private Short maintenanceStatus; + +} 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 new file mode 100644 index 00000000..f022c9fc --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleExcel.java @@ -0,0 +1,172 @@ +package org.springblade.desk.jobTransfer.pojo.excel; + + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; + +import java.io.Serializable; +import java.io.Serial; + + +/** + * 岗位处理 Excel实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class PostHandleExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 用户ID + */ + @ColumnWidth(20) + @ExcelProperty("用户ID") + private Long userId; + /** + * 名称 + */ + @ColumnWidth(20) + @ExcelProperty("名称") + private String name; + /** + * 民族 + */ + @ColumnWidth(20) + @ExcelProperty("民族") + private String nation; + /** + * 年龄 + */ + @ColumnWidth(20) + @ExcelProperty("年龄") + private Short age; + /** + * 身份证号码 + */ + @ColumnWidth(20) + @ExcelProperty("身份证号码") + private String idCard; + /** + * 籍贯 + */ + @ColumnWidth(20) + @ExcelProperty("籍贯") + private String nativePlace; + /** + * 班组ID + */ + @ColumnWidth(20) + @ExcelProperty("班组ID") + private Long deptId; + /** + * 所属岗位 + */ + @ColumnWidth(20) + @ExcelProperty("所属岗位") + private String station; + /** + * 出生日期 + */ + @ColumnWidth(20) + @ExcelProperty("出生日期") + private Date dataBirth; + /** + * 政治面貌 + */ + @ColumnWidth(20) + @ExcelProperty("政治面貌") + private String face; + /** + * 婚姻状态(0未婚,1已婚) + */ + @ColumnWidth(20) + @ExcelProperty("婚姻状态(0未婚,1已婚)") + private String marriage; + /** + * 毕业院校 + */ + @ColumnWidth(20) + @ExcelProperty("毕业院校") + private String school; + /** + * 所学专业 + */ + @ColumnWidth(20) + @ExcelProperty("所学专业") + private String major; + /** + * 最高学历 + */ + @ColumnWidth(20) + @ExcelProperty("最高学历") + private String education; + /** + * 毕业时间 + */ + @ColumnWidth(20) + @ExcelProperty("毕业时间") + private Date endDate; + /** + * 用工类型 + */ + @ColumnWidth(20) + @ExcelProperty("用工类型") + private Short staffType; + /** + * 参加工作时间 + */ + @ColumnWidth(20) + @ExcelProperty("参加工作时间") + private Date joinJobDate; + /** + * 技能等级 + */ + @ColumnWidth(20) + @ExcelProperty("技能等级") + private Short skill; + /** + * 任现职时间 + */ + @ColumnWidth(20) + @ExcelProperty("任现职时间") + private Date inJobDate; + /** + * 合同到期 + */ + @ColumnWidth(20) + @ExcelProperty("合同到期") + private Date conExpDate; + /** + * 家庭住址 + */ + @ColumnWidth(20) + @ExcelProperty("家庭住址") + private String address; + /** + * 转岗时间 + */ + @ColumnWidth(20) + @ExcelProperty("转岗时间") + private Date toNewJob; + /** + * 1实习-培训中,2转岗中,3正常,4下岗中,5离职,6培训合格,7培训不合格 + */ + @ColumnWidth(20) + @ExcelProperty("1实习-培训中,2转岗中,3正常,4下岗中,5离职,6培训合格,7培训不合格") + private Short phStatus; + +} 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 new file mode 100644 index 00000000..f8234e17 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleImport.java @@ -0,0 +1,130 @@ +package org.springblade.desk.jobTransfer.pojo.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.format.DateTimeFormat; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.io.Serial; +import java.util.Date; + +/** + * 岗位处理导入 + * + * @author qyl + * @since 2026-01-09 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class PostHandleImport extends BaseEntity { + + /** + * 用户code + */ + @ExcelProperty(index = 0) + private String code; + /** + * 名称 + */ + @ExcelProperty(index = 1) + private String name; + /** + * 民族 + */ + @ExcelProperty(index = 2) + private String nation; + /** + * 年龄 + */ + @ExcelProperty(index = 3) + private Short age; + /** + * 身份证号码 + */ + @ExcelProperty(index = 4) + private String idCard; + /** + * 籍贯 + */ + @ExcelProperty(index = 5) + private String nativePlace; + + /** + * 所属岗位 + */ + @ExcelProperty(index = 6) + private String station; + /** + * 出生日期 + */ + @ExcelProperty(index = 7) + @DateTimeFormat("yyyy/MM/dd") + private Date dataBirth; + /** + * 政治面貌 + */ + @ExcelProperty(index = 8) + private String face; + /** + * 婚姻状态(0未婚,1已婚) + */ + @ExcelProperty(index = 9) + private String marriageName; + /** + * 毕业院校 + */ + @ExcelProperty(index = 10) + private String school; + /** + * 所学专业 + */ + @ExcelProperty(index = 11) + private String major; + /** + * 最高学历 + */ + @ExcelProperty(index = 12) + private String education; + /** + * 毕业时间 + */ + @ExcelProperty(index = 13) + @DateTimeFormat("yyyy/MM/dd") + private Date endDate; + /** + * 用工类型 + */ + @ExcelProperty(index = 14) + private String staffTypeName; + /** + * 参加工作时间 + */ + @ExcelProperty(index = 15) + @DateTimeFormat("yyyy/MM/dd") + private Date joinJobDate; + /** + * 技能等级 + */ + @ExcelProperty(index = 16) + private String skillName; + /** + * 任现职时间 + */ + @ExcelProperty(index = 17) + @DateTimeFormat("yyyy/MM/dd") + private Date inJobDate; + /** + * 合同到期 + */ + @ExcelProperty(index = 18) + @DateTimeFormat("yyyy/MM/dd") + private Date conExpDate; + /** + * 家庭住址 + */ + @ExcelProperty(index = 19) + private String address; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/TrainingPlanExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/TrainingPlanExcel.java new file mode 100644 index 00000000..97732d25 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/TrainingPlanExcel.java @@ -0,0 +1,76 @@ +package org.springblade.desk.jobTransfer.pojo.excel; + + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; + +import java.io.Serializable; +import java.io.Serial; + + +/** + * 培训计划模板 Excel实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class TrainingPlanExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 培训计划名称 + */ + @ColumnWidth(20) + @ExcelProperty("培训计划名称") + private String name; + /** + * 培训周期(天) + */ + @ColumnWidth(20) + @ExcelProperty("培训周期(天)") + private Integer cycle; + /** + * 培训师ID + */ + @ColumnWidth(20) + @ExcelProperty("培训师ID") + private Long teacherId; + /** + * 培训师名称 + */ + @ColumnWidth(20) + @ExcelProperty("培训师名称") + private String teacherName; + /** + * 预警周期(天) + */ + @ColumnWidth(20) + @ExcelProperty("预警周期(天)") + private Integer earlyWarningDay; + /** + * 备注 + */ + @ColumnWidth(20) + @ExcelProperty("备注") + private String memo; + /** + * 附件链接 + */ + @ColumnWidth(20) + @ExcelProperty("附件链接") + private String attachLink; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/CertificateLedgerQuery.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/CertificateLedgerQuery.java new file mode 100644 index 00000000..8f81505a --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/CertificateLedgerQuery.java @@ -0,0 +1,47 @@ +package org.springblade.desk.jobTransfer.pojo.request; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 岗位证书管理检索请求入参 + */ +@Data +public class CertificateLedgerQuery { + /** + * 姓名 + */ + @Schema(description = "姓名") + private String name; + /** + * 所属班组 + */ + @Schema(description = "所属班组") + private Long deptId; + + /** + * 所属岗位 + */ + @Schema(description = "所属岗位") + private String station; + /** + * 技能等级 + */ + @Schema(description = "技能等级") + private Short skill; + /** + * 证书类型 + */ + @Schema(description = "证书类型") + private Long certificateId; + /** + * 证书编号 + */ + @Schema(description = "证书编号") + private String certificateCode; + /** + * 维护状态(1正常,2到期,3离职) + */ + @Schema(description = "维护状态(1正常,2到期,3离职)") + private Short maintenanceStatus; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/CultivateDetailQuery.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/CultivateDetailQuery.java new file mode 100644 index 00000000..19fb4664 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/CultivateDetailQuery.java @@ -0,0 +1,81 @@ +package org.springblade.desk.jobTransfer.pojo.request; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springblade.core.mp.base.BaseEntity; + +import java.util.Date; + +/** + * 培训安排分页检索 实体类 + * + * @author qyl + * @since 2026-01-09 + */ +@Data +public class CultivateDetailQuery extends BaseEntity { + + /** + * 姓名 + */ + @Schema(description = "姓名") + private String name; + /** + * 工号 + */ + @Schema(description = "工号") + private String code; + /** + * 用工类型 + */ + @Schema(description = "用工类型(1实习工,2正式工)") + private Short staffType; + /** + * 培训类型(1实习,2转岗,3下岗) + */ + @Schema(description = "培训类型(1实习,2转岗,3下岗)") + private Short type; + /** + * 培训模板ID + */ + @Schema(description = "培训模板ID") + private Long planId; + /** + * 培训师ID + */ + @Schema(description = "培训师ID") + private Long teacherId; + /** + * 培训状态(1未配置,2等待下发,3已下发-培训中,4已到期,5已培训-待确认,6培训完成) + */ + @Schema(description = "培训状态(1未配置,2等待下发,3已下发-培训中,4已到期,5已培训-待确认,6培训完成)") + private Short caStatus; + /** + * 下发时间 + */ + @Schema(description = "下发时间") + private Date distributeTime; + + /** + * 培训周期(天) + */ + @Schema(description = "培训周期(天)") + private Integer cycle; + /** + * 预警周期(天) + */ + @Schema(description = "预警周期(天)") + private Integer earlyWarningDay; + + /** + * 开始时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date startTime; + /** + * 结束时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date endTime; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/EquipmentMaintenanceQuery.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/EquipmentMaintenanceQuery.java new file mode 100644 index 00000000..1a6e9b01 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/EquipmentMaintenanceQuery.java @@ -0,0 +1,42 @@ +package org.springblade.desk.jobTransfer.pojo.request; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 设备维护管理检索请求入参 + */ +@Data +public class EquipmentMaintenanceQuery { + /** + * 姓名 + */ + @Schema(description = "姓名") + private String name; + /** + * 所属班组 + */ + @Schema(description = "所属班组") + private Long deptId; + + /** + * 所属岗位 + */ + @Schema(description = "所属岗位") + private String station; + /** + * 技能等级 + */ + @Schema(description = "技能等级") + private Short skill; + /** + * 证书类型 + */ + @Schema(description = "设备ID") + private Long equipmentId; + /** + * 维护状态(1正常,2到期,3离职) + */ + @Schema(description = "维护状态(1正常,2到期,3离职)") + private Short maintenanceStatus; +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/PostHandleQuery.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/PostHandleQuery.java new file mode 100644 index 00000000..2354f055 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/request/PostHandleQuery.java @@ -0,0 +1,60 @@ +package org.springblade.desk.jobTransfer.pojo.request; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.Date; + +/** + * 人员岗位管理检索请求入参 + */ +@Data +public class PostHandleQuery { + + /** + * 所属班组 + */ + @Schema(description = "所属班组") + private Long deptId; + /** + * 工号 + */ + @Schema(description = "工号") + private String userCode; + /** + * 姓名 + */ + @Schema(description = "姓名") + private String name; + /** + * 所属岗位 + */ + @Schema(description = "所属岗位") + private String station; + /** + * 技能等级 + */ + @Schema(description = "技能等级") + private Short skill; + /** + * 状态 + */ + @Schema(description = "状态") + private Integer phStatus; + /** + * 入职时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date inJobDate; + /** + * 合同到期日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date conExpDate; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CertificateLedgerVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CertificateLedgerVO.java new file mode 100644 index 00000000..e236d254 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CertificateLedgerVO.java @@ -0,0 +1,21 @@ +package org.springblade.desk.jobTransfer.pojo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +/** + * 岗位证书台账VO + */ +@Data +public class CertificateLedgerVO { + + //人员岗位数据 + @Schema(description = "人员岗位数据") + private PostHandleVO postHandleVO; + + //岗位证书数据集合 + @Schema(description = "岗位证书数据集合") + private List certificateMaintenanceVOList; +} 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 new file mode 100644 index 00000000..7d2ba0fe --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CertificateMaintenanceVO.java @@ -0,0 +1,111 @@ +package org.springblade.desk.jobTransfer.pojo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import org.springblade.desk.jobTransfer.pojo.entity.CertificateMaintenanceEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.desk.jobTransfer.pojo.enums.MaintenanceStatusEnum; + +import java.io.Serial; +import java.util.Calendar; +import java.util.Date; + +/** + * 证书维护 视图实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class CertificateMaintenanceVO extends CertificateMaintenanceEntity { + @Serial + private static final long serialVersionUID = 1L; + /** + * 证书名称 + */ + @Schema(description = "证书名称") + private String CertificateTypeName; + /** + * 证书有效期 + */ + @Schema(description = "证书有效期") + private Short validityPeriod; + /** + * 适航有效期 + */ + @Schema(description = "适航有效期") + private Short airworthinessValidityPeriod; + /** + * 宇航有效期 + */ + @Schema(description = "宇航有效期") + private Short astronautValidityPeriod; + + // 适航到期日期 + public Date getAirworthinessDateExpire() { + if (this.getAirworthinessDate() != null && this.airworthinessValidityPeriod != null) { + Calendar cal = Calendar.getInstance(); + cal.setTime(this.getAirworthinessDate()); + cal.add(Calendar.YEAR, Integer.valueOf(this.airworthinessValidityPeriod.toString())); + //得到结算后的结果 yyyy-MM-dd HH:mm + Date date = cal.getTime(); + cal.setTime(date); + return cal.getTime(); + } else { + return null; + } + + } + + // 宇航到期日期 + public Date getAstronautDateExpire() { + if (this.getAstronautDate() != null && this.astronautValidityPeriod != null) { + Calendar cal = Calendar.getInstance(); + cal.setTime(this.getAstronautDate()); + cal.add(Calendar.YEAR, Integer.valueOf(this.astronautValidityPeriod.toString())); + //得到结算后的结果 yyyy-MM-dd HH:mm + Date date = cal.getTime(); + cal.setTime(date); + return cal.getTime(); + } else { + return null; + } + } + + // 上岗证到期日期 + public Date getValidityPeriodExpire() { + if (this.getCertificateDate() != null && this.validityPeriod != null) { + Calendar cal = Calendar.getInstance(); + cal.setTime(this.getCertificateDate()); + cal.add(Calendar.YEAR, Integer.valueOf(this.validityPeriod.toString())); + //得到结算后的结果 yyyy-MM-dd HH:mm + Date date = cal.getTime(); + cal.setTime(date); + return cal.getTime(); + } else { + return null; + } + } + + public String getMaintenanceStatusName() { + if (this.getMaintenanceStatus() == MaintenanceStatusEnum.DEPART.getCode().shortValue()) { + return MaintenanceStatusEnum.DEPART.getName(); + } + Date date = new Date(); + if (getAirworthinessDateExpire() != null && getAirworthinessDateExpire().getTime() < date.getTime()) { + setMaintenanceStatus(MaintenanceStatusEnum.DUE.getCode().shortValue()); + return MaintenanceStatusEnum.DUE.getName(); + } + if (getAstronautDateExpire() != null && getAstronautDateExpire().getTime() < date.getTime()) { + setMaintenanceStatus(MaintenanceStatusEnum.DUE.getCode().shortValue()); + return MaintenanceStatusEnum.DUE.getName(); + } + 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-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CertificateTypeVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CertificateTypeVO.java new file mode 100644 index 00000000..ba85252d --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CertificateTypeVO.java @@ -0,0 +1,21 @@ +package org.springblade.desk.jobTransfer.pojo.vo; + +import org.springblade.desk.jobTransfer.pojo.entity.CertificateTypeEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 证书类型 视图实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class CertificateTypeVO extends CertificateTypeEntity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CultivateDetailVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CultivateDetailVO.java new file mode 100644 index 00000000..0c8e0dc8 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/CultivateDetailVO.java @@ -0,0 +1,62 @@ +package org.springblade.desk.jobTransfer.pojo.vo; + +import org.springblade.desk.jobTransfer.pojo.entity.CultivateDetailEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.desk.jobTransfer.pojo.enums.CultivateStatusEnum; +import org.springblade.desk.jobTransfer.pojo.enums.StaffTypeEnum; +import org.springblade.desk.jobTransfer.pojo.enums.TrainingStatusEnum; + +import java.io.Serial; + +/** + * 培训安排 视图实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class CultivateDetailVO extends CultivateDetailEntity { + @Serial + private static final long serialVersionUID = 1L; + + //姓名 + private String name; + + //用工号 + private String code; + + //用工类型名 + private String staffTypeName; + + //用工类型 + private Short staffType; + + //培训类型 + private String typeName; + + //培训周期(天) + private Integer cycle; + + //预警周期(天) + private Integer earlyWarningDay; + + //培训计划 + private String planName; + + //状态 + private String caStatusName; + + public String getCaStatusName() { + return TrainingStatusEnum.getName(null != this.getCaStatus() ? this.getCaStatus().intValue() : null); + } + + public String getStaffTypeName() { + return StaffTypeEnum.getName(null != this.getStaffType() ? this.getStaffType().intValue() : null); + } + + public String getTypeName() { + return CultivateStatusEnum.getName(null != this.getType() ? this.getType().intValue() : null); + } +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceListVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceListVO.java new file mode 100644 index 00000000..2eda7eea --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceListVO.java @@ -0,0 +1,21 @@ +package org.springblade.desk.jobTransfer.pojo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +/** + * 岗位证书台账VO + */ +@Data +public class EquipmentMaintenanceListVO { + + //人员岗位数据 + @Schema(description = "人员岗位数据") + private PostHandleVO postHandleVO; + + //设备维护数据集合 + @Schema(description = "设备维护数据集合") + private List equipmentMaintenanceVOList; +} 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 new file mode 100644 index 00000000..2c09c1c8 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/EquipmentMaintenanceVO.java @@ -0,0 +1,53 @@ +package org.springblade.desk.jobTransfer.pojo.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import org.springblade.desk.jobTransfer.pojo.entity.EquipmentMaintenanceEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; +import java.util.Calendar; +import java.util.Date; + +/** + * 岗位设备维护 视图实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class EquipmentMaintenanceVO extends EquipmentMaintenanceEntity { + @Serial + private static final long serialVersionUID = 1L; + /** + * 设备名称 + */ + @Schema(description = "设备名称") + private String deviceName; + /** + * 设备编号 + */ + @Schema(description = "设备编号") + private String deviceCode; + /** + * 规格型号 + */ + @Schema(description = "规格型号") + private String macSpec; + + // 到期日期 + public Date getValidityPeriodExpire() { + if (this.getEquipmentDate() != null && this.getEquipmentValidityPeriod() != null) { + Calendar cal = Calendar.getInstance(); + cal.setTime(this.getEquipmentDate()); + cal.add(Calendar.YEAR, Integer.valueOf(this.getEquipmentValidityPeriod().toString())); + //得到结算后的结果 yyyy-MM-dd HH:mm + Date date = cal.getTime(); + cal.setTime(date); + return cal.getTime(); + } else { + return null; + } + } +} 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 new file mode 100644 index 00000000..7716f321 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/PostHandleVO.java @@ -0,0 +1,56 @@ +package org.springblade.desk.jobTransfer.pojo.vo; + +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 java.io.Serial; + +/** + * 岗位处理 视图实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class PostHandleVO extends PostHandleEntity { + @Serial + private static final long serialVersionUID = 1L; + + //用户名 + @Schema(description = "用户名") + private String userName; + //用户工号 + @Schema(description = "用户工号") + private String userCode; + //班组名 + @Schema(description = "班组名") + private String deptName; + //状态名 + @Schema(description = "状态名") + private String phStatusName; + //用工类型名 + @Schema(description = "用工类型名") + private String staffTypeName; + //技能等级名 + @Schema(description = "技能等级名") + private String skillName; + + public String getPhStatusName() { + return PostHandleStatusEnum.getName(null != this.getPhStatus() ? this.getPhStatus().intValue() : null); + } + + public String getStaffTypeName() { + return StaffTypeEnum.getName(null != this.getStaffType() ? this.getStaffType().intValue() : null); + } + + public String getSkillName() { + return SkillEnum.getName(null != this.getSkill() ? this.getSkill().intValue() : null); + } +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/TrainingPlanVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/TrainingPlanVO.java new file mode 100644 index 00000000..03aaf9ca --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/TrainingPlanVO.java @@ -0,0 +1,21 @@ +package org.springblade.desk.jobTransfer.pojo.vo; + +import org.springblade.desk.jobTransfer.pojo.entity.TrainingPlanEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 培训计划模板 视图实体类 + * + * @author qyl + * @since 2026-01-08 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class TrainingPlanVO extends TrainingPlanEntity { + @Serial + private static final long serialVersionUID = 1L; + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContent.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContent.java index f40fd302..2a2927fc 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContent.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/AssayContent.java @@ -60,4 +60,16 @@ public class AssayContent extends BaseEntity { */ @TableField(value = "SILVER_PLATE") private BigDecimal silverPlate; + + /** + * 是否被使用,默认0,已使用过此次化验申报添加量后,记录申报记录id,同时更新为1 + */ + @TableField(value = "IS_USED") + private Integer isUsed; + + /** + * 申报记录id + */ + @TableField(value = "APPLY_ID") + private Long applyId; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlan.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlan.java index 9dd5d143..eafb15dc 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlan.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlan.java @@ -56,17 +56,27 @@ public class MoldPlan extends BaseEntity { private String erpWoCode; /** - * 状态;1、新建,2、已下发,3、已完成 + * 状态; 11001、新建,11002:已下发,11003、已完成 */ @TableField(value = "MAF_STATUS") - private Long mafStatus; + private Integer mafStatus; /** - * 计划类型名称 + * 类型; 12001、热表,烧结,12002、仓库 */ - @TableField(value = "PLAN_TYPE") - private String planType; + @TableField(value = "MAF_TYPE") + private Integer mafType; + /** + * 计划类型; 13001:Z:制造(工装不为空且工装名称为压饼模),13002:D:夹具(工装不为空且工装名称为石墨模) + */ + @TableField(value = "PLAN_TYPE_CODE") + private String planTypeCode; + /** + * 计划类型名称;14001:Z:制造(工装不为空且工装名称为压饼模),14002:D:夹具(工装不为空且工装名称为石墨模) + */ + @TableField(value = "PLAN_TYPE_NAME") + private String planTypeName; /** * 需求日期 */ @@ -91,12 +101,6 @@ public class MoldPlan extends BaseEntity { @TableField(value = "QUA_LEVEL") private String quaLevel; - /** - * - */ - @TableField(value = "PLAN_TYPE_NAME") - private String planTypeName; - /** * 零件编码 */ @@ -115,15 +119,14 @@ public class MoldPlan extends BaseEntity { @TableField(value = "MEMO") private String memo; - /** - * 类型;1、热表,烧结,2、仓库 - */ - @TableField(value = "MAF_TYPE") - private Long mafType; - /** * 紧急状态 */ @TableField(value = "URGENT_TYPE") private String urgentType; + /** + * 计划来源;15001:自动生成,15002:人工添加 + */ + @TableField(value = "SOURCE") + private Integer source; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanOrder.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanOrder.java index 52aca3b4..97592862 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanOrder.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanOrder.java @@ -14,12 +14,18 @@ import org.springblade.core.mp.base.BaseEntity; @TableName(value = "MES_MOLD_PLAN_ORDER") @Data public class MoldPlanOrder extends BaseEntity { - @TableField(exist = false) - private static final long serialVersionUID = 1L; + @TableField(exist = false) + private static final long serialVersionUID = 1L; /** * 烧结模具计划ID */ @TableField(value = "MP_ID") private Long mpId; + + /** + * 生产订单id + */ + @TableField(value = "ORDER_ID") + private Long orderId; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanTool.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanTool.java index 0ba5c614..b45ca20f 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanTool.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/MoldPlanTool.java @@ -11,6 +11,7 @@ import org.springblade.core.mp.base.BaseEntity; * @author lqk * @TableName MES_MOLD_PLAN_TOOL */ +@Deprecated @TableName(value = "MES_MOLD_PLAN_TOOL") @Data public class MoldPlanTool extends BaseEntity { diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java index 17003924..ce1311fc 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java @@ -70,6 +70,7 @@ public class PlateGoodsRecord extends BaseEntity { /** * 审批状态 + * 11001:正常, 11002:审批中, 11003:不通过, 11004:通过 */ @TableField(value = "APPROVAL_STATUS") private Integer approvalStatus; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecordDetail.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecordDetail.java index 36290f70..8d03ce81 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecordDetail.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecordDetail.java @@ -27,6 +27,6 @@ public class PlateGoodsRecordDetail extends BaseEntity { * 生产订单ID */ @TableField(value = "YO_ID") - private String yoId; + private Long yoId; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/AssayContentEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/AssayContentEnum.java new file mode 100644 index 00000000..68afe38a --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/AssayContentEnum.java @@ -0,0 +1,58 @@ +package org.springblade.desk.order.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 lqk + * @date 2025-12-19 9:25 + */ +@Getter +@AllArgsConstructor +public enum AssayContentEnum { + EMPTY(StringPool.EMPTY, -1), + + /** + * 状态, 10000:未使用, 10001:已使用, 10002:已过期 + */ + STATUS_UNUSED("未使用", 10000), + STATUS_USED("已使用", 10001), + STATUS_OUTDATE("已过期", 10002), + ; + final String name; + final int code; + + /** + * 匹配枚举值 + * + * @param name 名称 + * @return BladeUserEnum + */ + public static AssayContentEnum of(String name) { + return Arrays.stream(AssayContentEnum.values()) + .filter(userEnum -> userEnum.getName().equalsIgnoreCase(name != null ? name : "web")) + .findFirst() + // 在没有找到匹配项时返回默认值 + .orElse(AssayContentEnum.EMPTY); + } + + /** + * 根据值获取名称 + * + * @param category + * @return + */ + public static String getName(int category) { + AssayContentEnum item = Arrays.stream(AssayContentEnum.values()) + .filter(enumItem -> enumItem.getCode() == category) + .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/order/pojo/enums/MoldPlanEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/MoldPlanEnum.java index 8a822a74..efbd9a00 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/MoldPlanEnum.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/MoldPlanEnum.java @@ -25,9 +25,36 @@ public enum MoldPlanEnum { STATUS_OUT_STORE("已出库", 10001), STATUS_DONE("完成", 10002), STATUS_CLOSE("关闭", 10003), + + /** + * 状态枚举; 11001、新建,11002:已下发,11003、已完成 + */ + MAF_STATUS_CREATE("新建", 11001), + MAF_STATUS_SEND("已下发", 11002), + MAF_STATUS_DONE("已完成", 11003), + + /** + * 类型;12001、热表,烧结,12002、仓库 + */ + MAF_TYPE_RB("热表,烧结", 12001), + MAF_TYPE_STORE("仓库", 12002), + + /** + * 计划类型; 13001:Z:制造(工装不为空且工装名称为压饼模),13002:D:夹具(工装不为空且工装名称为石墨模) + */ + PLAN_TYPE_CODE_Z("Z", 13001), + PLAN_TYPE_CODE_D("D", 13002), + PLAN_TYPE_NAME_Z("制造", 14001), + PLAN_TYPE_NAME_D("夹具", 15002), + + /** + * 计划来源;15001:自动生成,15002:人工添加 + */ + SOURCE_AUTO("自动生成", 15001), + SOURCE_USER("人工添加", 15002), ; final String name; - final int category; + final int code; /** * 匹配枚举值 @@ -51,7 +78,7 @@ public enum MoldPlanEnum { */ public static String getName(int category) { MoldPlanEnum item = Arrays.stream(MoldPlanEnum.values()) - .filter(enumItem -> enumItem.getCategory() == category) + .filter(enumItem -> enumItem.getCode() == category) .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/order/pojo/enums/PlateGoodsEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/PlateGoodsEnum.java index 748541a4..303a0ddb 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/PlateGoodsEnum.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/PlateGoodsEnum.java @@ -19,7 +19,7 @@ public enum PlateGoodsEnum { EMPTY(StringPool.EMPTY, -1), /** - * 状态枚举 + * 状态, 10000:待审核, 10001:审核通过, 10002:使用中, 10003:已超期, 10004:已完成, 10005:审核未通过, 10006:已关闭 */ STATUS_WAITING("待审核", 10000), STATUS_PASS("审核通过", 10001), @@ -30,7 +30,7 @@ public enum PlateGoodsEnum { STATUS_CLOSE("已关闭", 10006), ; final String name; - final int category; + final int code; /** * 匹配枚举值 @@ -54,7 +54,7 @@ public enum PlateGoodsEnum { */ public static String getName(int category) { PlateGoodsEnum item = Arrays.stream(PlateGoodsEnum.values()) - .filter(enumItem -> enumItem.getCategory() == category) + .filter(enumItem -> enumItem.getCode() == category) .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/order/pojo/request/MoldPlanSave.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/MoldPlanSave.java index 8a119bef..8bcba9bc 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/MoldPlanSave.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/request/MoldPlanSave.java @@ -12,6 +12,7 @@ import java.util.List; * * @author lqk */ +@Deprecated @Data public class MoldPlanSave { /** diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/AssayContentVo.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/AssayContentVo.java index d6b0eac7..7acd36ad 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/AssayContentVo.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/AssayContentVo.java @@ -4,8 +4,10 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; import org.springblade.desk.order.pojo.entity.AssayContent; +import org.springblade.desk.order.pojo.entity.AssayContentDetail; import java.io.Serial; +import java.util.List; /** * 化验含量-视图类 @@ -23,8 +25,23 @@ public class AssayContentVo extends AssayContent { @JsonSerialize(using = ToStringSerializer.class) private Long id; + /** + * 作业中心名称 + */ + String wcName; + + /** + * 化验人名称 + */ + String assayManName; + /** * 状态名称 */ String statusName; + + /** + * 明细列表 + */ + List detailList; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldPlanVo.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldPlanVo.java index 48d0bd3e..b77249dc 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldPlanVo.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/MoldPlanVo.java @@ -27,4 +27,14 @@ public class MoldPlanVo extends MoldPlan { * 状态名称 */ String statusName; + + /** + * 状态名称 + */ + String mafStatusName; + + /** + * 类型名称 + */ + String mafTypeName; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsRecordVo.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsRecordVo.java index 11556175..174ec14e 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsRecordVo.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/vo/PlateGoodsRecordVo.java @@ -6,6 +6,7 @@ import lombok.Data; import org.springblade.desk.order.pojo.entity.PlateGoodsRecord; import java.io.Serial; +import java.util.List; /** * 镀层物料额外需求上报-视图类 @@ -23,8 +24,20 @@ public class PlateGoodsRecordVo extends PlateGoodsRecord { @JsonSerialize(using = ToStringSerializer.class) private Long id; + /** + * 作业中心名称 + */ + String wcName; + /** * 状态名称 */ String statusName; + + /** + * 创建人名称 + */ + String createUserName; + + List yieldOrderList; } diff --git a/blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/EquipAbilityEntity.java b/blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/EquipAbilityEntity.java index 6db4959b..a5cefaaf 100644 --- a/blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/EquipAbilityEntity.java +++ b/blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/EquipAbilityEntity.java @@ -26,6 +26,9 @@ package org.springblade.scheduling.pojo.entity; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.NullSerializer; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -96,24 +99,28 @@ public class EquipAbilityEntity extends BaseEntity { * 额定加工能力 */ @Schema(description = "额定加工能力") + @JsonSerialize(nullsUsing = NullSerializer.class) private BigDecimal standardProcessAbility; /** * 额定工时(分钟) */ @Schema(description = "额定工时(分钟)") + @JsonSerialize(nullsUsing = NullSerializer.class) private BigDecimal standardTime; /** * 准备工时(分钟) */ @Schema(description = "准备工时(分钟)") + @JsonSerialize(nullsUsing = NullSerializer.class) private BigDecimal prepareTime; /** * 轮次间隔(分钟) */ @Schema(description = "轮次间隔(分钟)") + @JsonSerialize(using = ToStringSerializer.class) private BigDecimal interval; /** diff --git a/blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/SameTroughEntity.java b/blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/SameTroughEntity.java index 53625738..614b2f80 100644 --- a/blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/SameTroughEntity.java +++ b/blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/SameTroughEntity.java @@ -53,7 +53,7 @@ public class SameTroughEntity extends BaseEntity { * 作业中心id */ @Schema(description = "作业中心id") - private BigDecimal workCenterId; + private Long workCenterId; /** * 作业中心名称 */ @@ -63,7 +63,7 @@ public class SameTroughEntity extends BaseEntity { * 工序id */ @Schema(description = "工序id") - private BigDecimal processId; + private Long processId; /** * 工序名称 */ @@ -73,7 +73,7 @@ public class SameTroughEntity extends BaseEntity { * 工艺id */ @Schema(description = "工艺id") - private BigDecimal craftId; + private Long craftId; /** * 工艺名称 */ diff --git a/blade-service-api/blade-user-api/src/main/java/org/springblade/system/cache/UserCache.java b/blade-service-api/blade-user-api/src/main/java/org/springblade/system/cache/UserCache.java index a0c0ac2f..19a9ff5b 100644 --- a/blade-service-api/blade-user-api/src/main/java/org/springblade/system/cache/UserCache.java +++ b/blade-service-api/blade-user-api/src/main/java/org/springblade/system/cache/UserCache.java @@ -33,9 +33,11 @@ import org.springblade.core.tool.utils.StringPool; import org.springblade.core.tool.utils.StringUtil; import org.springblade.system.pojo.entity.User; import org.springblade.system.feign.IUserClient; +import org.springblade.system.pojo.entity.UserInfo; import static org.springblade.core.cache.constant.CacheConstant.USER_CACHE; import static org.springblade.core.launch.constant.FlowConstant.TASK_USR_PREFIX; +import static org.springblade.system.feign.IUserClient.USER_BY_CODE; /** * 系统缓存 @@ -44,6 +46,7 @@ import static org.springblade.core.launch.constant.FlowConstant.TASK_USR_PREFIX; */ public class UserCache { private static final String USER_CACHE_ID = "user:id:"; + private static final String USER_CACHE_CODE = "user:code:"; private static final String USER_CACHE_ACCOUNT = "user:account:"; private static IUserClient userClient; @@ -93,4 +96,16 @@ public class UserCache { }); } + /** + * 获取用户 + * + * @return + */ + public static UserInfo getUserByCode(String code) { + return CacheUtil.get(USER_CACHE, USER_CACHE_CODE, code, () -> { + R result = getUserClient().userInfoByCode(code); + return result.getData(); + }); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/DeskApplication.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/DeskApplication.java index 1e25b375..084debd1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/DeskApplication.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/DeskApplication.java @@ -28,6 +28,7 @@ package org.springblade.desk; import org.springblade.core.cloud.client.BladeCloudApplication; import org.springblade.core.launch.BladeApplication; import org.springblade.core.launch.constant.AppConstant; +import org.springframework.scheduling.annotation.EnableScheduling; /** * Desk启动器 @@ -35,6 +36,7 @@ import org.springblade.core.launch.constant.AppConstant; * @author Chill */ @BladeCloudApplication +@EnableScheduling public class DeskApplication { public static void main(String[] args) { diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/feign/WorkCenterClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/feign/WorkCenterClient.java new file mode 100644 index 00000000..f286d780 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/feign/WorkCenterClient.java @@ -0,0 +1,30 @@ +package org.springblade.desk.basic.feign; + + +import io.swagger.v3.oas.annotations.Hidden; +import lombok.RequiredArgsConstructor; +import org.springblade.core.tenant.annotation.NonDS; +import org.springblade.core.tool.api.R; +import org.springblade.desk.basic.pojo.entity.WorkCenter; +import org.springblade.desk.basic.service.IWorkCenterService; +import org.springframework.web.bind.annotation.RestController; + +/** + * 作业中心 Feign接口类 + * + * @author lqk + */ +@NonDS +@Hidden() +@RestController +@RequiredArgsConstructor +public class WorkCenterClient implements IWorkCenterClient { + + private final IWorkCenterService workCenterService; + + @Override + public R getById(Long workCenterId) { + WorkCenter workCenter = workCenterService.getById(workCenterId); + return R.data(workCenter); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsProcessGroupController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsProcessGroupController.java index acabbdd5..cdbbf3f4 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsProcessGroupController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsProcessGroupController.java @@ -107,7 +107,7 @@ public class BsProcessGroupController extends BladeController { @ApiOperationSupport(order = 4) @Operation(summary = "新增", description = "传入bsProcessGroup") public R save(@Valid @RequestBody BsProcessGroupEntity bsProcessGroup) { - return R.status(bsProcessGroupService.save(bsProcessGroup)); + return R.status(bsProcessGroupService.saveProcessGroup(bsProcessGroup)); } /** diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsProcessSetController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsProcessSetController.java index 804d2199..52503fb5 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsProcessSetController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/BsProcessSetController.java @@ -104,7 +104,7 @@ public class BsProcessSetController extends BladeController { @ApiOperationSupport(order = 2) @Operation(summary = "分页", description = "传入bsProcessSet") public R> list(@Parameter(hidden = true) @RequestParam Map bsProcessSet, Query query) { - IPage pages = bsProcessSetService.page(Condition.getPage(query), Condition.getQueryWrapper(bsProcessSet, BsProcessSetEntity.class)); + IPage pages = bsProcessSetService.page(Condition.getPage(query), Condition.getQueryWrapper(bsProcessSet, BsProcessSetEntity.class).orderByDesc("update_time")); return R.data(BsProcessSetWrapper.build().pageVO(pages)); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsProcessGroupMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsProcessGroupMapper.java index bf077536..ead4ecdd 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsProcessGroupMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsProcessGroupMapper.java @@ -60,4 +60,5 @@ public interface BsProcessGroupMapper extends BaseMapper { */ List exportBsProcessGroup(@Param("ew") Wrapper queryWrapper); + BsProcessGroupEntity selectByGroupCode(@Param("groupCode") String groupCode); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProcessGroupMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProcessGroupMapper.xml index 5e52a910..0ec1751b 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProcessGroupMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProcessGroupMapper.xml @@ -14,7 +14,6 @@ - @@ -31,5 +30,9 @@ + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsProcessGroupService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsProcessGroupService.java index 0d1c3a42..9b6fd764 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsProcessGroupService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsProcessGroupService.java @@ -58,4 +58,10 @@ public interface IBsProcessGroupService extends BaseService exportBsProcessGroup(Wrapper queryWrapper); + /** + * 工序组新增 + * @param bsProcessGroup + * @return + */ + boolean saveProcessGroup(BsProcessGroupEntity bsProcessGroup); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsProcessGroupServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsProcessGroupServiceImpl.java index b2b74838..344191c9 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsProcessGroupServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsProcessGroupServiceImpl.java @@ -25,6 +25,7 @@ */ package org.springblade.desk.dashboard.service.impl; +import org.springblade.core.log.exception.ServiceException; import org.springblade.desk.dashboard.pojo.entity.BsProcessGroupEntity; import org.springblade.desk.dashboard.pojo.vo.BsProcessGroupVO; import org.springblade.desk.dashboard.excel.BsProcessGroupExcel; @@ -60,4 +61,20 @@ public class BsProcessGroupServiceImpl extends BaseServiceImpl + + detail(CertificateMaintenanceEntity certificateMaintenance) { + CertificateMaintenanceEntity detail = certificateMaintenanceService.getOne(Condition.getQueryWrapper(certificateMaintenance)); + return R.data(CertificateMaintenanceWrapper.build().entityVO(detail)); + } + + /** + * 证书维护 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "CertificateLedgerQuery") + @Parameters({ + @Parameter(name = "name", description = "姓名", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "deptId", description = "所属班组", in = ParameterIn.QUERY, schema = @Schema(type = "integer")), + @Parameter(name = "station", description = "所属岗位", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "skill", description = "技能等级", in = ParameterIn.QUERY, schema = @Schema(type = "integer")), + @Parameter(name = "certificateId", description = "证书类型", in = ParameterIn.QUERY, schema = @Schema(type = "integer")), + @Parameter(name = "certificateCode", description = "证书编号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "maintenanceStatus", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "integer")), + }) + public R> page(CertificateLedgerQuery certificateLedgerQuery, Query query) { + IPage pages = certificateMaintenanceService.selectCertificateMaintenancePage(Condition.getPage(query), certificateLedgerQuery); + return R.data(pages); + } + + /** + * 证书维护 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入certificateMaintenance") + public R save(@Valid @RequestBody CertificateMaintenanceEntity certificateMaintenance) { + return R.status(certificateMaintenanceService.save(certificateMaintenance)); + } + + /** + * 证书维护 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入certificateMaintenance") + public R update(@Valid @RequestBody CertificateMaintenanceEntity certificateMaintenance) { + return R.status(certificateMaintenanceService.updateById(certificateMaintenance)); + } + + /** + * 证书维护 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入certificateMaintenance") + public R submit(@Valid @RequestBody CertificateMaintenanceEntity certificateMaintenance) { + return R.status(certificateMaintenanceService.saveOrUpdate(certificateMaintenance)); + } + + /** + * 证书维护 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(certificateMaintenanceService.deleteLogic(Func.toLongList(ids))); + } + + /** + * 批量新增或修改 + */ + @PostMapping("/submit-list") + @ApiOperationSupport(order = 8) + @Operation(summary = "批量新增或修改", description = "") + public R submitList(@Valid @RequestBody List certificateMaintenances) { + return R.status(certificateMaintenanceService.submitList(certificateMaintenances)); + } + /** + * 导出数据 + */ + @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); + //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); + } + + @PostConstruct // 项目启动后立即执行一次 + public void init() { + updateMaintenanceStatus(); + } + + /** + * 更新证书维护状态 + * TODO 以后需要交由PowerJob服务统一管理 + */ + @Scheduled(cron = "0 0 0 * * ?") // 每天凌晨0点执行 + public void updateMaintenanceStatus() { + certificateMaintenanceService.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 new file mode 100644 index 00000000..e3542503 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CertificateTypeController.java @@ -0,0 +1,128 @@ +package org.springblade.desk.jobTransfer.controller; + +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 lombok.AllArgsConstructor; +import jakarta.validation.Valid; + +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.annotation.IsAdmin; +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.jobTransfer.pojo.excel.CertificateTypeExcel; +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.CertificateTypeEntity; +import org.springblade.desk.jobTransfer.pojo.vo.CertificateTypeVO; +import org.springblade.desk.jobTransfer.wrapper.CertificateTypeWrapper; +import org.springblade.desk.jobTransfer.service.ICertificateTypeService; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.tool.constant.BladeConstant; + +import java.util.Map; +import java.util.List; + +import jakarta.servlet.http.HttpServletResponse; + +/** + * 证书类型 控制器 + * + * @author qyl + * @since 2026-01-08 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/certificateType") +@Tag(name = "证书类型", description = "证书类型接口") +public class CertificateTypeController extends BladeController { + + private final ICertificateTypeService certificateTypeService; + + /** + * 证书类型 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入certificateType") + public R detail(CertificateTypeEntity certificateType) { + CertificateTypeEntity detail = certificateTypeService.getOne(Condition.getQueryWrapper(certificateType)); + return R.data(CertificateTypeWrapper.build().entityVO(detail)); + } + + /** + * 证书类型 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入certificateType") + public R> page(CertificateTypeVO certificateType, Query query) { + IPage pages = certificateTypeService.selectCertificateTypePage(Condition.getPage(query), certificateType); + return R.data(pages); + } + + /** + * 证书类型 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入certificateType") + public R save(@Valid @RequestBody CertificateTypeEntity certificateType) { + return R.status(certificateTypeService.save(certificateType)); + } + + /** + * 证书类型 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入certificateType") + public R update(@Valid @RequestBody CertificateTypeEntity certificateType) { + return R.status(certificateTypeService.updateById(certificateType)); + } + + /** + * 证书类型 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入certificateType") + public R submit(@Valid @RequestBody CertificateTypeEntity certificateType) { + return R.status(certificateTypeService.saveOrUpdate(certificateType)); + } + + /** + * 证书类型 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(certificateTypeService.deleteLogic(Func.toLongList(ids))); + } + + + /** + * 导出数据 + */ + @IsAdmin + @GetMapping("/export-certificateType") + @ApiOperationSupport(order = 9) + @Operation(summary = "导出数据", description = "传入certificateType") + public void exportCertificateType(@Parameter(hidden = true) @RequestParam Map certificateType, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(certificateType, CertificateTypeEntity.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(CertificateType::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(CertificateTypeEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = certificateTypeService.exportCertificateType(queryWrapper); + ExcelUtil.export(response, "证书类型数据" + DateUtil.time(), "证书类型数据表", list, CertificateTypeExcel.class); + } + +} 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 new file mode 100644 index 00000000..604580a3 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/CultivateDetailController.java @@ -0,0 +1,211 @@ +package org.springblade.desk.jobTransfer.controller; + +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; + +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.annotation.IsAdmin; +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.jobTransfer.pojo.enums.TrainingStatusEnum; +import org.springblade.desk.jobTransfer.pojo.excel.CultivateDetailExcel; +import org.springblade.desk.jobTransfer.pojo.request.CultivateDetailQuery; +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.CultivateDetailEntity; +import org.springblade.desk.jobTransfer.pojo.vo.CultivateDetailVO; +import org.springblade.desk.jobTransfer.wrapper.CultivateDetailWrapper; +import org.springblade.desk.jobTransfer.service.ICultivateDetailService; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.tool.constant.BladeConstant; + +import java.util.Date; +import java.util.Map; +import java.util.List; + +import jakarta.servlet.http.HttpServletResponse; + +/** + * 培训安排 控制器 + * + * @author qyl + * @since 2026-01-08 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/cultivateDetail") +@Tag(name = "培训安排", description = "培训安排接口") +public class CultivateDetailController extends BladeController { + + private final ICultivateDetailService cultivateDetailService; + + /** + * 培训安排 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入cultivateDetail") + public R detail(CultivateDetailEntity cultivateDetail) { + CultivateDetailEntity detail = cultivateDetailService.getOne(Condition.getQueryWrapper(cultivateDetail)); + return R.data(CultivateDetailWrapper.build().entityVO(detail)); + } + + /** + * 培训安排 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入cultivateDetail") + public R> page(CultivateDetailQuery cultivateDetailQuery, Query query) { + IPage pages = cultivateDetailService.selectCultivateDetailPage(Condition.getPage(query), cultivateDetailQuery); + return R.data(pages); + } + + /** + * 培训安排 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入cultivateDetail") + public R save(@Valid @RequestBody CultivateDetailEntity cultivateDetail) { + return R.status(cultivateDetailService.save(cultivateDetail)); + } + + /** + * 培训安排 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入cultivateDetail") + public R update(@Valid @RequestBody CultivateDetailEntity cultivateDetail) { + return R.status(cultivateDetailService.updateById(cultivateDetail)); + } + + /** + * 培训安排 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入cultivateDetail") + public R submit(@Valid @RequestBody CultivateDetailEntity cultivateDetail) { + return R.status(cultivateDetailService.saveOrUpdate(cultivateDetail)); + } + + /** + * 培训安排 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(cultivateDetailService.deleteLogic(Func.toLongList(ids))); + } + + + /** + * 导出数据 + */ + @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); + //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); + } + + /** + * 培训安排 配置 + */ + @PostMapping("/configured") + @ApiOperationSupport(order = 10) + @Operation(summary = "配置", description = "传入cultivateDetail") + public R configured(@Valid @RequestBody CultivateDetailEntity cultivateDetail) { + cultivateDetail.setCaStatus(TrainingStatusEnum.WAIT_DISTRIBUTE.getCode().shortValue()); + return R.status(cultivateDetailService.updateById(cultivateDetail)); + } + + /** + * 批量下发 + */ + @PostMapping("/issued") + @ApiOperationSupport(order = 11) + @Operation(summary = "批量下发", description = "传入cultivateDetails") + public R issued(@Valid @RequestBody List cultivateDetails) { + for (CultivateDetailEntity cultivateDetail : cultivateDetails) { + Short caStatus = cultivateDetail.getCaStatus(); + if (!(TrainingStatusEnum.WAIT_DISTRIBUTE.getCode().shortValue() == caStatus)) { + return R.fail("请选择状态为待下发的记录"); + } + cultivateDetail.setCaStatus(TrainingStatusEnum.ISSUED.getCode().shortValue()); + cultivateDetail.setDistributeTime(new Date()); + } + return R.status(cultivateDetailService.saveOrUpdateBatch(cultivateDetails)); + } + + /** + * 批量资料上传 + */ + @PostMapping("/uploadMaterials") + @ApiOperationSupport(order = 12) + @Operation(summary = "批量资料上传", description = "传入cultivateDetails") + public R uploadMaterials(@Valid @RequestBody List cultivateDetails) { + for (CultivateDetailEntity cultivateDetail : cultivateDetails) { + Short caStatus = cultivateDetail.getCaStatus(); + if (!(TrainingStatusEnum.ISSUED.getCode().shortValue() == caStatus)) { + return R.fail("请选择状态为培训中的记录"); + } + cultivateDetail.setCaStatus(TrainingStatusEnum.TRAINED.getCode().shortValue()); + } + return R.status(cultivateDetailService.saveOrUpdateBatch(cultivateDetails)); + } + + /** + * 批量培训完成 + */ + @PostMapping("/trainingCompleted") + @ApiOperationSupport(order = 13) + @Operation(summary = "批量培训完成", description = "传入cultivateDetails") + public R trainingCompleted(@Valid @RequestBody List cultivateDetails) { + for (CultivateDetailEntity cultivateDetail : cultivateDetails) { + Short caStatus = cultivateDetail.getCaStatus(); + if (!(TrainingStatusEnum.TRAINED.getCode().shortValue() == caStatus)) { + return R.fail("请选择状态为待确认的记录"); + } + cultivateDetail.setCaStatus(TrainingStatusEnum.OK_TRAINED.getCode().shortValue()); + cultivateDetail.setFinishTime(new Date()); + } + return cultivateDetailService.trainingCompleted(cultivateDetails); + } + + @PostConstruct // 项目启动后立即执行一次 + public void init() { + exceed(); + } + + /** + * 更新培训记录超期状态 + * TODO 以后需要交由PowerJob服务统一管理 + */ + @Scheduled(cron = "0 0 0 * * ?") // 每天凌晨0点执行 + public void exceed() { + cultivateDetailService.exceed(); + } + +} 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 new file mode 100644 index 00000000..d38f03a2 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/EquipmentMaintenanceController.java @@ -0,0 +1,151 @@ +package org.springblade.desk.jobTransfer.controller; + +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.media.Schema; +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 lombok.AllArgsConstructor; +import jakarta.validation.Valid; + +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.annotation.IsAdmin; +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.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.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; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.tool.constant.BladeConstant; + +import java.util.Map; +import java.util.List; + +import jakarta.servlet.http.HttpServletResponse; + +/** + * 岗位设备维护 控制器 + * + * @author qyl + * @since 2026-01-08 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/equipmentMaintenance") +@Tag(name = "岗位设备维护", description = "岗位设备维护接口") +public class EquipmentMaintenanceController extends BladeController { + + private final IEquipmentMaintenanceService equipmentMaintenanceService; + + /** + * 岗位设备维护 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入equipmentMaintenance") + public R detail(EquipmentMaintenanceEntity equipmentMaintenance) { + EquipmentMaintenanceEntity detail = equipmentMaintenanceService.getOne(Condition.getQueryWrapper(equipmentMaintenance)); + return R.data(EquipmentMaintenanceWrapper.build().entityVO(detail)); + } + + /** + * 岗位设备维护 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Parameters({ + @Parameter(name = "name", description = "姓名", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "deptId", description = "所属班组", in = ParameterIn.QUERY, schema = @Schema(type = "integer")), + @Parameter(name = "station", description = "所属岗位", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "skill", description = "技能等级", in = ParameterIn.QUERY, schema = @Schema(type = "integer")), + @Parameter(name = "equipmentId", description = "设备", in = ParameterIn.QUERY, schema = @Schema(type = "integer")), + @Parameter(name = "maintenanceStatus", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "integer")), + }) + @Operation(summary = "分页", description = "传入equipmentMaintenanceQuery") + public R> page(EquipmentMaintenanceQuery equipmentMaintenanceQuery, Query query) { + IPage pages = equipmentMaintenanceService.selectEquipmentMaintenancePage(Condition.getPage(query), equipmentMaintenanceQuery); + return R.data(pages); + } + + /** + * 岗位设备维护 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入equipmentMaintenance") + public R save(@Valid @RequestBody EquipmentMaintenanceEntity equipmentMaintenance) { + return R.status(equipmentMaintenanceService.save(equipmentMaintenance)); + } + + /** + * 岗位设备维护 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入equipmentMaintenance") + public R update(@Valid @RequestBody EquipmentMaintenanceEntity equipmentMaintenance) { + return R.status(equipmentMaintenanceService.updateById(equipmentMaintenance)); + } + + /** + * 岗位设备维护 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入equipmentMaintenance") + public R submit(@Valid @RequestBody EquipmentMaintenanceEntity equipmentMaintenance) { + return R.status(equipmentMaintenanceService.saveOrUpdate(equipmentMaintenance)); + } + + /** + * 岗位设备维护 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(equipmentMaintenanceService.deleteLogic(Func.toLongList(ids))); + } + + + /** + * 批量新增或修改 + */ + @PostMapping("/submit-list") + @ApiOperationSupport(order = 8) + @Operation(summary = "批量新增或修改", description = "") + public R submitList(@Valid @RequestBody List equipmentMaintenanceEntities) { + return R.status(equipmentMaintenanceService.submitList(equipmentMaintenanceEntities)); + } + /** + * 导出数据 + */ + @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); + //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); + } + +} 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 new file mode 100644 index 00000000..cef1dd1e --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/PostHandleController.java @@ -0,0 +1,249 @@ +package org.springblade.desk.jobTransfer.controller; + +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.media.Schema; +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 lombok.AllArgsConstructor; +import jakarta.validation.Valid; + +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.annotation.IsAdmin; +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.PostHandleExcel; +import org.springblade.desk.jobTransfer.pojo.excel.PostHandleImport; +import org.springblade.desk.jobTransfer.pojo.request.PostHandleQuery; +import org.springframework.beans.BeanUtils; +import org.springframework.core.io.Resource; +import org.springframework.http.ResponseEntity; +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.PostHandleEntity; +import org.springblade.desk.jobTransfer.pojo.vo.PostHandleVO; +import org.springblade.desk.jobTransfer.wrapper.PostHandleWrapper; +import org.springblade.desk.jobTransfer.service.IPostHandleService; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.excel.util.ExcelUtil; + +import java.util.Map; +import java.util.List; +import java.util.stream.Collectors; + +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.web.multipart.MultipartFile; + +/** + * 岗位处理 控制器 + * + * @author qyl + * @since 2026-01-08 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/postHandle") +@Tag(name = "岗位处理", description = "岗位处理接口") +public class PostHandleController extends BladeController { + + private final IPostHandleService postHandleService; + + /** + * 岗位处理 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入postHandle") + public R detail(PostHandleEntity postHandle) { + PostHandleEntity detail = postHandleService.getOne(Condition.getQueryWrapper(postHandle)); + return R.data(PostHandleWrapper.build().entityVO(detail)); + } + + /** + * 岗位处理 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Operation(summary = "分页", description = "传入postHandle") + @Parameters({ + @Parameter(name = "deptId", description = "所属班组", in = ParameterIn.QUERY, schema = @Schema(type = "integer")), + @Parameter(name = "userCode", description = "员工编号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "name", description = "姓名", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "station", description = "所属岗位", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "inJobDate", description = "入职时间", in = ParameterIn.QUERY, schema = @Schema(type = "string", format = "date")), + @Parameter(name = "skill", description = "技能等级", in = ParameterIn.QUERY, schema = @Schema(type = "integer")), + @Parameter(name = "phStatus", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "integer")), + @Parameter(name = "conExpDate", description = "合同到期日期", in = ParameterIn.QUERY, schema = @Schema(type = "string", format = "date")), + }) + public R> page(@Parameter(hidden = true) PostHandleQuery postHandleQuery, Query query) { + IPage pages = postHandleService.selectPostHandlePage(Condition.getPage(query), postHandleQuery); + return R.data(pages); + } + + /** + * 岗位处理 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入postHandle") + public R save(@Valid @RequestBody PostHandleEntity postHandle) { + return R.status(postHandleService.save(postHandle)); + } + + /** + * 岗位处理 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入postHandle") + public R update(@Valid @RequestBody PostHandleEntity postHandle) { + return R.status(postHandleService.updateById(postHandle)); + } + + /** + * 岗位处理 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入postHandle") + public R submit(@Valid @RequestBody PostHandleEntity postHandle) { + return postHandleService.saveOrUpdateHandle(postHandle); + } + + /** + * 岗位处理 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(postHandleService.deleteLogic(Func.toLongList(ids))); + } + + /** + * 批量转正 + * + * @param ids + * @return R + */ + @PostMapping("/regularization") + @ApiOperationSupport(order = 8) + @Operation(summary = "转正", description = "传入ids") + public R regularization(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return postHandleService.regularization(Func.toLongList(ids)); + + } + + /** + * 批量转岗计划 + * + * @param ids + * @param teacherId + * @param teacherName + * @param trainingPlanId + * @return + */ + @PostMapping("/JobTransferPlan") + @ApiOperationSupport(order = 9) + @Operation(summary = "批量转岗计划", description = "传入ids") + public R JobTransferPlan(@Parameter(description = "主键集合", required = true) @RequestParam String ids, + @Parameter(description = "培训师id", required = true) @RequestParam Long teacherId, + @Parameter(description = "培训师姓名", required = true) @RequestParam String teacherName, + @Parameter(description = "培训模板id", required = true) @RequestParam Long trainingPlanId) { + return postHandleService.JobTransferPlan(Func.toLongList(ids), teacherId, teacherName, trainingPlanId); + } + + /** + * 批量下岗计划 + * + * @param ids + * @param teacherId + * @param teacherName + * @param trainingPlanId + * @return + */ + @PostMapping("/layoffPlan") + @ApiOperationSupport(order = 10) + @Operation(summary = "批量下岗计划", description = "传入ids") + public R layoffPlan(@Parameter(description = "主键集合", required = true) @RequestParam String ids, + @Parameter(description = "培训师id", required = true) @RequestParam Long teacherId, + @Parameter(description = "培训师姓名", required = true) @RequestParam String teacherName, + @Parameter(description = "培训模板id", required = true) @RequestParam Long trainingPlanId) { + return postHandleService.layoffPlan(Func.toLongList(ids), teacherId, teacherName, trainingPlanId); + } + + /** + * 导出数据 + */ + @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); + //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); + } + + /** + * 下载Excel模板 + */ + @GetMapping("/downloadExcelTemplate") + @ApiOperationSupport(order = 12) + @Operation(summary = "下载Excel模板", description = "") + public ResponseEntity downloadExcelTemplate() { + return ExcelExtUtil.downloadXlsTemplate( + "Excel/jobTransfer/岗位处理导入模板下载.xls", + "岗位处理导入模板下载.xls"); + } + + /** + * 导入Excel + */ + @PostMapping("/importExcel") + @ApiOperationSupport(order = 13) + @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, PostHandleImport.class + ); + return postHandleService.saveExcelData(importList); + } + + + /** + * 转岗 + */ + @PostMapping("/jobTransfer") + @ApiOperationSupport(order = 13) + @Operation(summary = "转岗", description = "传入postHandle") + public R jobTransfer(@Valid @RequestBody PostHandleEntity postHandle) { + return postHandleService.jobTransfer(postHandle); + } + + /** + * 离职 + */ + @PostMapping("/depart") + @ApiOperationSupport(order = 14) + @Operation(summary = "离职", description = "传入postHandle") + public R depart(@Valid @RequestBody PostHandleEntity postHandle) { + return postHandleService.depart(postHandle); + } + +} 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 new file mode 100644 index 00000000..dd6276a0 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/controller/TrainingPlanController.java @@ -0,0 +1,147 @@ +package org.springblade.desk.jobTransfer.controller; + +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.media.Schema; +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 lombok.AllArgsConstructor; +import jakarta.validation.Valid; + +import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.annotation.IsAdmin; +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.jobTransfer.pojo.entity.CultivateDetailEntity; +import org.springblade.desk.jobTransfer.pojo.enums.TrainingStatusEnum; +import org.springblade.desk.jobTransfer.pojo.excel.TrainingPlanExcel; +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.TrainingPlanEntity; +import org.springblade.desk.jobTransfer.pojo.vo.TrainingPlanVO; +import org.springblade.desk.jobTransfer.wrapper.TrainingPlanWrapper; +import org.springblade.desk.jobTransfer.service.ITrainingPlanService; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.tool.constant.BladeConstant; + +import java.util.Date; +import java.util.Map; +import java.util.List; + +import jakarta.servlet.http.HttpServletResponse; + +/** + * 培训计划模板 控制器 + * + * @author qyl + * @since 2026-01-08 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/trainingPlan") +@Tag(name = "培训计划模板", description = "培训计划模板接口") +public class TrainingPlanController extends BladeController { + + private final ITrainingPlanService trainingPlanService; + + /** + * 培训计划模板 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @Operation(summary = "详情", description = "传入trainingPlan") + public R detail(TrainingPlanEntity trainingPlan) { + TrainingPlanEntity detail = trainingPlanService.getOne(Condition.getQueryWrapper(trainingPlan)); + return R.data(TrainingPlanWrapper.build().entityVO(detail)); + } + + /** + * 培训计划模板 自定义分页 + */ + @GetMapping("/page") + @ApiOperationSupport(order = 3) + @Parameters({ + @Parameter(name = "name", description = "培训计划名称", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + }) + @Operation(summary = "分页", description = "传入trainingPlan") + public R> page(@Parameter(hidden = true) TrainingPlanEntity trainingPlan, Query query) { + IPage pages = trainingPlanService.selectTrainingPlanPage(Condition.getPage(query), trainingPlan); + return R.data(TrainingPlanWrapper.build().pageVO(pages)); + } + + /** + * 培训计划模板 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 4) + @Operation(summary = "新增", description = "传入trainingPlan") + public R save(@Valid @RequestBody TrainingPlanEntity trainingPlan) { + return R.status(trainingPlanService.save(trainingPlan)); + } + + /** + * 培训计划模板 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 5) + @Operation(summary = "修改", description = "传入trainingPlan") + public R update(@Valid @RequestBody TrainingPlanEntity trainingPlan) { + return R.status(trainingPlanService.updateById(trainingPlan)); + } + + /** + * 培训计划模板 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 6) + @Operation(summary = "新增或修改", description = "传入trainingPlan") + public R submit(@Valid @RequestBody TrainingPlanEntity trainingPlan) { + return R.status(trainingPlanService.saveOrUpdate(trainingPlan)); + } + + /** + * 培训计划模板 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 7) + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + return R.status(trainingPlanService.deleteLogic(Func.toLongList(ids))); + } + + /** + * 批量增改 + */ + @PostMapping("/submit-list") + @ApiOperationSupport(order = 8) + @Operation(summary = "批量增改", description = "传入trainingPlanEntities") + public R issued(@Valid @RequestBody List trainingPlanEntities) { + return R.status(trainingPlanService.saveOrUpdateBatch(trainingPlanEntities)); + } + + + /** + * 导出数据 + */ + @IsAdmin + @GetMapping("/export-trainingPlan") + @ApiOperationSupport(order = 9) + @Operation(summary = "导出数据", description = "传入trainingPlan") + public void exportTrainingPlan(@Parameter(hidden = true) @RequestParam Map trainingPlan, BladeUser bladeUser, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(trainingPlan, TrainingPlanEntity.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(TrainingPlan::getTenantId, bladeUser.getTenantId()); + //} + //queryWrapper.lambda().eq(TrainingPlanEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + List list = trainingPlanService.exportTrainingPlan(queryWrapper); + ExcelUtil.export(response, "培训计划模板数据" + DateUtil.time(), "培训计划模板数据表", list, TrainingPlanExcel.class); + } + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.java new file mode 100644 index 00000000..85ea27e8 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.java @@ -0,0 +1,45 @@ +package org.springblade.desk.jobTransfer.mapper; + +import org.springblade.desk.jobTransfer.pojo.entity.CertificateMaintenanceEntity; +import org.springblade.desk.jobTransfer.pojo.excel.CertificateMaintenanceExcel; +import org.springblade.desk.jobTransfer.pojo.request.CertificateLedgerQuery; +import org.springblade.desk.jobTransfer.pojo.vo.CertificateLedgerVO; +import org.springblade.desk.jobTransfer.pojo.vo.CertificateMaintenanceVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 证书维护 Mapper 接口 + * + * @author qyl + * @since 2026-01-08 + */ +public interface CertificateMaintenanceMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page 分页参数 + * @param certificateLedgerQuery 查询参数 + * @return List + */ + List selectCertificateMaintenancePage(IPage page, CertificateLedgerQuery query); + + + /** + * 获取导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportCertificateMaintenance(@Param("ew") Wrapper queryWrapper); + + /** + * 更新证书维护状态 + */ + void updateMaintenanceStatus(); +} 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 new file mode 100644 index 00000000..0a90ab1a --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MERGE INTO MES_CERTIFICATE_MAINTENANCE m + USING (SELECT ID, + VALIDITY_PERIOD, + AIRWORTHINESS_VALIDITY_PERIOD, + ASTRONAUT_VALIDITY_PERIOD + FROM MES_CERTIFICATE_TYPE + WHERE IS_DELETED = 0) ct + ON (m.CERTIFICATE_ID = ct.ID AND m.IS_DELETED = 0) + WHEN MATCHED THEN + UPDATE SET + m.MAINTENANCE_STATUS = + CASE + WHEN m.CERTIFICATE_DATE IS NOT NULL AND ct.VALIDITY_PERIOD IS NOT NULL THEN + CASE + WHEN m.CERTIFICATE_DATE + NUMTOYMINTERVAL(ct.VALIDITY_PERIOD, 'YEAR') < + SYSDATE THEN 2 + ELSE 1 END + WHEN m.AIRWORTHINESS_DATE IS NOT NULL AND ct.AIRWORTHINESS_VALIDITY_PERIOD IS NOT NULL + THEN + CASE + WHEN m.AIRWORTHINESS_DATE + + NUMTOYMINTERVAL(ct.AIRWORTHINESS_VALIDITY_PERIOD, 'YEAR') < SYSDATE + THEN 2 + ELSE 1 END + WHEN m.ASTRONAUT_DATE IS NOT NULL AND ct.ASTRONAUT_VALIDITY_PERIOD IS NOT NULL THEN + CASE + WHEN m.ASTRONAUT_DATE + + NUMTOYMINTERVAL(ct.ASTRONAUT_VALIDITY_PERIOD, 'YEAR') < SYSDATE THEN 2 + ELSE 1 END + ELSE 1 + END, + m.UPDATE_TIME = SYSDATE WHERE m.MAINTENANCE_STATUS != 3 + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateTypeMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateTypeMapper.java new file mode 100644 index 00000000..8c322867 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateTypeMapper.java @@ -0,0 +1,39 @@ +package org.springblade.desk.jobTransfer.mapper; + +import org.springblade.desk.jobTransfer.pojo.entity.CertificateTypeEntity; +import org.springblade.desk.jobTransfer.pojo.excel.CertificateTypeExcel; +import org.springblade.desk.jobTransfer.pojo.vo.CertificateTypeVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 证书类型 Mapper 接口 + * + * @author qyl + * @since 2026-01-08 + */ +public interface CertificateTypeMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page 分页参数 + * @param certificateType 查询参数 + * @return List + */ + List selectCertificateTypePage(IPage page, CertificateTypeVO certificateType); + + + /** + * 获取导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportCertificateType(@Param("ew") Wrapper queryWrapper); + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateTypeMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateTypeMapper.xml new file mode 100644 index 00000000..e8d02765 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateTypeMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CultivateDetailMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CultivateDetailMapper.java new file mode 100644 index 00000000..34b87a7d --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CultivateDetailMapper.java @@ -0,0 +1,44 @@ +package org.springblade.desk.jobTransfer.mapper; + +import org.springblade.desk.jobTransfer.pojo.entity.CultivateDetailEntity; +import org.springblade.desk.jobTransfer.pojo.excel.CultivateDetailExcel; +import org.springblade.desk.jobTransfer.pojo.request.CultivateDetailQuery; +import org.springblade.desk.jobTransfer.pojo.vo.CultivateDetailVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 培训安排 Mapper 接口 + * + * @author qyl + * @since 2026-01-08 + */ +public interface CultivateDetailMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page 分页参数 + * @param query 查询参数 + * @return List + */ + List selectCultivateDetailPage(IPage page, CultivateDetailQuery query); + + + /** + * 获取导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportCultivateDetail(@Param("ew") Wrapper queryWrapper); + + /** + * 培训超期 + */ + void exceed(); +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CultivateDetailMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CultivateDetailMapper.xml new file mode 100644 index 00000000..1a7f9c64 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CultivateDetailMapper.xml @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE MES_CULTIVATE_DETAIL cd + SET cd.CA_STATUS = 4, -- 4表示已到期 + cd.UPDATE_TIME = SYSDATE + WHERE cd.CA_STATUS = 3 -- 当前状态为已下发-培训中 + AND cd.IS_DELETED = 0 + AND EXISTS (SELECT 1 + FROM MES_TRAINING_PLAN tp + WHERE tp.ID = cd.PLAN_ID + AND tp.IS_DELETED = 0 + AND SYSDATE > (cd.DISTRIBUTE_TIME + tp.CYCLE)) + + 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 new file mode 100644 index 00000000..845dfd8f --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.java @@ -0,0 +1,42 @@ +package org.springblade.desk.jobTransfer.mapper; + +import org.springblade.desk.jobTransfer.pojo.entity.EquipmentMaintenanceEntity; +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.EquipmentMaintenanceVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 岗位设备维护 Mapper 接口 + * + * @author qyl + * @since 2026-01-08 + */ +public interface EquipmentMaintenanceMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page 分页参数 + * @param query 查询参数 + * @return List + */ + List selectEquipmentMaintenancePage(IPage page, EquipmentMaintenanceQuery query); + + + /** + * 获取导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportEquipmentMaintenance(@Param("ew") Wrapper queryWrapper); + + void updateMaintenanceStatus(); +} 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 new file mode 100644 index 00000000..8a233930 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE MES_EQUIPMENT_MAINTENANCE + SET MAINTENANCE_STATUS = CASE + WHEN EQUIPMENT_DATE + + NUMTOYMINTERVAL(EQUIPMENT_VALIDITY_PERIOD, 'YEAR') < SYSDATE + THEN 2 + ELSE 1 END, + UPDATE_TIME = SYSDATE + WHERE IS_DELETED = 0 + AND MAINTENANCE_STATUS != 3 + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.java new file mode 100644 index 00000000..ed153d93 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.java @@ -0,0 +1,49 @@ +package org.springblade.desk.jobTransfer.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springblade.desk.jobTransfer.pojo.entity.PostHandleEntity; +import org.springblade.desk.jobTransfer.pojo.excel.PostHandleExcel; +import org.springblade.desk.jobTransfer.pojo.request.PostHandleQuery; +import org.springblade.desk.jobTransfer.pojo.vo.PostHandleVO; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 岗位处理 Mapper 接口 + * + * @author qyl + * @since 2026-01-08 + */ +public interface PostHandleMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page 分页参数 + * @param postHandle 查询参数 + * @return List + */ + List selectPostHandlePage(IPage page, PostHandleQuery postHandle); + + /** + * 自定义分页连表 + * + * @param page 分页参数 + * @param postHandle 查询参数 + * @return List + */ + List selectPostHandleVOByCondition(IPage page, PostHandleQuery postHandle); + + + /** + * 获取导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportPostHandle(@Param("ew") Wrapper queryWrapper); + +} 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 new file mode 100644 index 00000000..26252749 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/TrainingPlanMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/TrainingPlanMapper.java new file mode 100644 index 00000000..74e8ad84 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/TrainingPlanMapper.java @@ -0,0 +1,39 @@ +package org.springblade.desk.jobTransfer.mapper; + +import org.springblade.desk.jobTransfer.pojo.entity.TrainingPlanEntity; +import org.springblade.desk.jobTransfer.pojo.excel.TrainingPlanExcel; +import org.springblade.desk.jobTransfer.pojo.vo.TrainingPlanVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 培训计划模板 Mapper 接口 + * + * @author qyl + * @since 2026-01-08 + */ +public interface TrainingPlanMapper extends BaseMapper { + + /** + * 自定义分页 + * + * @param page 分页参数 + * @param trainingPlan 查询参数 + * @return List + */ + List selectTrainingPlanPage(IPage page, TrainingPlanEntity trainingPlan); + + + /** + * 获取导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportTrainingPlan(@Param("ew") Wrapper queryWrapper); + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/TrainingPlanMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/TrainingPlanMapper.xml new file mode 100644 index 00000000..9996d23c --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/TrainingPlanMapper.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 new file mode 100644 index 00000000..a0e5d0b9 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICertificateMaintenanceService.java @@ -0,0 +1,50 @@ +package org.springblade.desk.jobTransfer.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.springblade.desk.jobTransfer.pojo.entity.CertificateMaintenanceEntity; +import org.springblade.desk.jobTransfer.pojo.excel.CertificateMaintenanceExcel; +import org.springblade.desk.jobTransfer.pojo.request.CertificateLedgerQuery; +import org.springblade.desk.jobTransfer.pojo.vo.CertificateLedgerVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; + +import java.util.List; + +/** + * 证书维护 服务类 + * + * @author qyl + * @since 2026-01-08 + */ +public interface ICertificateMaintenanceService extends BaseService { + /** + * 自定义分页 + * + * @param page 分页参数 + * @param certificateLedgerQuery 查询参数 + * @return IPage + */ + IPage selectCertificateMaintenancePage(IPage page, CertificateLedgerQuery certificateLedgerQuery); + + + /** + * 导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportCertificateMaintenance(Wrapper queryWrapper); + + /** + * 更新证书维护状态 + */ + void updateMaintenanceStatus(); + + /** + * 批量提交 + * + * @param certificateMaintenances + * @return + */ + Boolean submitList(List certificateMaintenances); +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICertificateTypeService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICertificateTypeService.java new file mode 100644 index 00000000..e976a6dd --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICertificateTypeService.java @@ -0,0 +1,37 @@ +package org.springblade.desk.jobTransfer.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.springblade.desk.jobTransfer.pojo.entity.CertificateTypeEntity; +import org.springblade.desk.jobTransfer.pojo.excel.CertificateTypeExcel; +import org.springblade.desk.jobTransfer.pojo.vo.CertificateTypeVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; + +import java.util.List; + +/** + * 证书类型 服务类 + * + * @author qyl + * @since 2026-01-08 + */ +public interface ICertificateTypeService extends BaseService { + /** + * 自定义分页 + * + * @param page 分页参数 + * @param certificateType 查询参数 + * @return IPage + */ + IPage selectCertificateTypePage(IPage page, CertificateTypeVO certificateType); + + + /** + * 导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportCertificateType(Wrapper queryWrapper); + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICultivateDetailService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICultivateDetailService.java new file mode 100644 index 00000000..febffdc1 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ICultivateDetailService.java @@ -0,0 +1,50 @@ +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.CultivateDetailEntity; +import org.springblade.desk.jobTransfer.pojo.excel.CultivateDetailExcel; +import org.springblade.desk.jobTransfer.pojo.request.CultivateDetailQuery; +import org.springblade.desk.jobTransfer.pojo.vo.CultivateDetailVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; + +import java.util.List; + +/** + * 培训安排 服务类 + * + * @author qyl + * @since 2026-01-08 + */ +public interface ICultivateDetailService extends BaseService { + /** + * 自定义分页 + * + * @param page 分页参数 + * @param cultivateDetail 查询参数 + * @return IPage + */ + IPage selectCultivateDetailPage(IPage page, CultivateDetailQuery cultivateDetail); + + + /** + * 导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportCultivateDetail(Wrapper queryWrapper); + + /** + * 批量培训完成 + * + * @param cultivateDetails + * @return + */ + R trainingCompleted(List cultivateDetails); + /** + * 培训超期 + */ + void exceed(); +} 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 new file mode 100644 index 00000000..20a8a7ed --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IEquipmentMaintenanceService.java @@ -0,0 +1,40 @@ +package org.springblade.desk.jobTransfer.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.springblade.desk.jobTransfer.pojo.entity.EquipmentMaintenanceEntity; +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 com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; + +import java.util.List; + +/** + * 岗位设备维护 服务类 + * + * @author qyl + * @since 2026-01-08 + */ +public interface IEquipmentMaintenanceService extends BaseService { + /** + * 自定义分页 + * + * @param page 分页参数 + * @param equipmentMaintenanceQuery 查询参数 + * @return IPage + */ + IPage selectEquipmentMaintenancePage(IPage page, EquipmentMaintenanceQuery equipmentMaintenanceQuery); + + + /** + * 导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportEquipmentMaintenance(Wrapper queryWrapper); + + Boolean submitList(List equipmentMaintenanceEntities); + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IPostHandleService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IPostHandleService.java new file mode 100644 index 00000000..45045850 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/IPostHandleService.java @@ -0,0 +1,101 @@ +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.PostHandleEntity; +import org.springblade.desk.jobTransfer.pojo.excel.PostHandleExcel; +import org.springblade.desk.jobTransfer.pojo.excel.PostHandleImport; +import org.springblade.desk.jobTransfer.pojo.request.PostHandleQuery; +import org.springblade.desk.jobTransfer.pojo.vo.PostHandleVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; + +import java.util.List; + +/** + * 岗位处理 服务类 + * + * @author qyl + * @since 2026-01-08 + */ +public interface IPostHandleService extends BaseService { + /** + * 自定义分页 + * + * @param page 分页参数 + * @param postHandle 查询参数 + * @return IPage + */ + IPage selectPostHandlePage(IPage page, PostHandleQuery postHandle); + + + /** + * 导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportPostHandle(Wrapper queryWrapper); + + /** + * 批量转正 + * + * @param ids + * @return + */ + R regularization(List ids); + + /** + * 新增 + * + * @param postHandleEntity + * @return + */ + R saveOrUpdateHandle(PostHandleEntity postHandleEntity); + + /** + * 批量转岗计划 + * + * @param ids + * @param teacherId + * @param teacherName + * @param trainingPlanId + * @return + */ + R JobTransferPlan(List ids, Long teacherId, String teacherName, Long trainingPlanId); + + /** + * 批量下岗计划 + * + * @param ids + * @param teacherId + * @param teacherName + * @param trainingPlanId + * @return + */ + R layoffPlan(List ids, Long teacherId, String teacherName, Long trainingPlanId); + + /** + * 导入Excel + * + * @param postHandleEntityList + * @return + */ + R saveExcelData(List postHandleEntityList); + + /** + * 转岗 + * + * @param postHandleEntity + * @return + */ + R jobTransfer(PostHandleEntity postHandleEntity); + + /** + * 离职 + * + * @param postHandleEntity + * @return + */ + R depart(PostHandleEntity postHandleEntity); +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ITrainingPlanService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ITrainingPlanService.java new file mode 100644 index 00000000..bd0bbacb --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/ITrainingPlanService.java @@ -0,0 +1,37 @@ +package org.springblade.desk.jobTransfer.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.springblade.desk.jobTransfer.pojo.entity.TrainingPlanEntity; +import org.springblade.desk.jobTransfer.pojo.excel.TrainingPlanExcel; +import org.springblade.desk.jobTransfer.pojo.vo.TrainingPlanVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; + +import java.util.List; + +/** + * 培训计划模板 服务类 + * + * @author qyl + * @since 2026-01-08 + */ +public interface ITrainingPlanService extends BaseService { + /** + * 自定义分页 + * + * @param page 分页参数 + * @param trainingPlan 查询参数 + * @return IPage + */ + IPage selectTrainingPlanPage(IPage page, TrainingPlanEntity trainingPlan); + + + /** + * 导出数据 + * + * @param queryWrapper 查询条件 + * @return List + */ + List exportTrainingPlan(Wrapper queryWrapper); + +} 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 new file mode 100644 index 00000000..df4c6118 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CertificateMaintenanceServiceImpl.java @@ -0,0 +1,59 @@ +package org.springblade.desk.jobTransfer.service.impl; + +import org.springblade.desk.jobTransfer.pojo.entity.CertificateMaintenanceEntity; +import org.springblade.desk.jobTransfer.pojo.excel.CertificateMaintenanceExcel; +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.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; + +/** + * 证书维护 服务实现类 + * + * @author qyl + * @since 2026-01-08 + */ +@Service +public class CertificateMaintenanceServiceImpl extends BaseServiceImpl implements ICertificateMaintenanceService { + + @Override + public IPage selectCertificateMaintenancePage(IPage page, CertificateLedgerQuery certificateLedgerQuery) { + return page.setRecords(baseMapper.selectCertificateMaintenancePage(page, certificateLedgerQuery)); + } + + + @Override + public List exportCertificateMaintenance(Wrapper queryWrapper) { + List certificateMaintenanceList = baseMapper.exportCertificateMaintenance(queryWrapper); + //certificateMaintenanceList.forEach(certificateMaintenance -> { + // certificateMaintenance.setTypeName(DictCache.getValue(DictEnum.YES_NO, CertificateMaintenance.getType())); + //}); + return certificateMaintenanceList; + } + + @Override + public void updateMaintenanceStatus() { + baseMapper.updateMaintenanceStatus(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean submitList(List certificateMaintenances) { + //保存基本字段 + boolean saved = this.saveOrUpdateBatch(certificateMaintenances); + //计算过期时间和状态,批量更新 + baseMapper.updateMaintenanceStatus(); + return saved; + } + + + + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CertificateTypeServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CertificateTypeServiceImpl.java new file mode 100644 index 00000000..a6bc9570 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CertificateTypeServiceImpl.java @@ -0,0 +1,39 @@ +package org.springblade.desk.jobTransfer.service.impl; + +import org.springblade.desk.jobTransfer.pojo.entity.CertificateTypeEntity; +import org.springblade.desk.jobTransfer.pojo.excel.CertificateTypeExcel; +import org.springblade.desk.jobTransfer.pojo.vo.CertificateTypeVO; +import org.springblade.desk.jobTransfer.mapper.CertificateTypeMapper; +import org.springblade.desk.jobTransfer.service.ICertificateTypeService; +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 java.util.List; + +/** + * 证书类型 服务实现类 + * + * @author qyl + * @since 2026-01-08 + */ +@Service +public class CertificateTypeServiceImpl extends BaseServiceImpl implements ICertificateTypeService { + + @Override + public IPage selectCertificateTypePage(IPage page, CertificateTypeVO certificateType) { + return page.setRecords(baseMapper.selectCertificateTypePage(page, certificateType)); + } + + + @Override + public List exportCertificateType(Wrapper queryWrapper) { + List certificateTypeList = baseMapper.exportCertificateType(queryWrapper); + //certificateTypeList.forEach(certificateType -> { + // certificateType.setTypeName(DictCache.getValue(DictEnum.YES_NO, CertificateType.getType())); + //}); + return certificateTypeList; + } + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CultivateDetailServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CultivateDetailServiceImpl.java new file mode 100644 index 00000000..4f7ad9d1 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/CultivateDetailServiceImpl.java @@ -0,0 +1,95 @@ +package org.springblade.desk.jobTransfer.service.impl; + +import jakarta.annotation.Resource; +import org.springblade.core.tool.api.R; +import org.springblade.desk.jobTransfer.pojo.entity.CultivateDetailEntity; +import org.springblade.desk.jobTransfer.pojo.entity.PostHandleEntity; +import org.springblade.desk.jobTransfer.pojo.enums.PostHandleStatusEnum; +import org.springblade.desk.jobTransfer.pojo.excel.CultivateDetailExcel; +import org.springblade.desk.jobTransfer.pojo.request.CultivateDetailQuery; +import org.springblade.desk.jobTransfer.pojo.vo.CultivateDetailVO; +import org.springblade.desk.jobTransfer.mapper.CultivateDetailMapper; +import org.springblade.desk.jobTransfer.service.ICultivateDetailService; +import org.springblade.desk.jobTransfer.service.IPostHandleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +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.Date; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +/** + * 培训安排 服务实现类 + * + * @author qyl + * @since 2026-01-08 + */ +@Service +public class CultivateDetailServiceImpl extends BaseServiceImpl implements ICultivateDetailService { + + private IPostHandleService postHandleService; + + @Resource + @Lazy + public void setPostHandleService(IPostHandleService postHandleService) { + this.postHandleService = postHandleService; + } + + @Override + public IPage selectCultivateDetailPage(IPage page, CultivateDetailQuery cultivateDetailQuery) { + return page.setRecords(baseMapper.selectCultivateDetailPage(page, cultivateDetailQuery)); + } + + + @Override + public List exportCultivateDetail(Wrapper queryWrapper) { + List cultivateDetailList = baseMapper.exportCultivateDetail(queryWrapper); + //cultivateDetailList.forEach(cultivateDetail -> { + // cultivateDetail.setTypeName(DictCache.getValue(DictEnum.YES_NO, CultivateDetail.getType())); + //}); + return cultivateDetailList; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R trainingCompleted(List cultivateDetails) { + //1.批量修改培训计划状态 + boolean saved = this.saveOrUpdateBatch(cultivateDetails); + if (!saved) { + return R.fail("批量操作失败"); + } + //2.批量修改人员岗位表数据 + Set phIds = cultivateDetails.stream().map(CultivateDetailEntity::getPhId).collect(Collectors.toSet()); + boolean update1 = postHandleService.lambdaUpdate() + .in(PostHandleEntity::getId, phIds) + .eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.JOB_TRANSFER.getCode()) + .set(PostHandleEntity::getPhStatus, PostHandleStatusEnum.JOB_TRANSFER_TRAINED.getCode()) + .set(PostHandleEntity::getUpdateTime, new Date()) + .update(); + boolean update2 = postHandleService.lambdaUpdate() + .in(PostHandleEntity::getId, phIds) + .eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.LAID_OFF.getCode()) + .set(PostHandleEntity::getPhStatus, PostHandleStatusEnum.LAID_OFF_TRAINED.getCode()) + .set(PostHandleEntity::getUpdateTime, new Date()) + .update(); + boolean update3 = postHandleService.lambdaUpdate() + .in(PostHandleEntity::getId, phIds) + .eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.IN_PRACTICE.getCode()) + .set(PostHandleEntity::getPhStatus, PostHandleStatusEnum.IN_PRACTICE_TRAINED.getCode()) + .set(PostHandleEntity::getUpdateTime, new Date()) + .update(); + return R.status(saved); + } + + @Override + public void exceed() { + baseMapper.exceed(); + } + +} 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 new file mode 100644 index 00000000..8c48c7e5 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/EquipmentMaintenanceServiceImpl.java @@ -0,0 +1,49 @@ +package org.springblade.desk.jobTransfer.service.impl; + +import org.springblade.desk.jobTransfer.pojo.entity.EquipmentMaintenanceEntity; +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.EquipmentMaintenanceVO; +import org.springblade.desk.jobTransfer.mapper.EquipmentMaintenanceMapper; +import org.springblade.desk.jobTransfer.service.IEquipmentMaintenanceService; +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 java.util.List; + +/** + * 岗位设备维护 服务实现类 + * + * @author qyl + * @since 2026-01-08 + */ +@Service +public class EquipmentMaintenanceServiceImpl extends BaseServiceImpl implements IEquipmentMaintenanceService { + + @Override + public IPage selectEquipmentMaintenancePage(IPage page, EquipmentMaintenanceQuery equipmentMaintenanceQuery) { + return page.setRecords(baseMapper.selectEquipmentMaintenancePage(page, equipmentMaintenanceQuery)); + } + + + @Override + public List exportEquipmentMaintenance(Wrapper queryWrapper) { + List equipmentMaintenanceList = baseMapper.exportEquipmentMaintenance(queryWrapper); + //equipmentMaintenanceList.forEach(equipmentMaintenance -> { + // equipmentMaintenance.setTypeName(DictCache.getValue(DictEnum.YES_NO, EquipmentMaintenance.getType())); + //}); + return equipmentMaintenanceList; + } + + @Override + public Boolean submitList(List equipmentMaintenanceEntities) { + boolean saved = this.saveOrUpdateBatch(equipmentMaintenanceEntities); + //更新状态 + baseMapper.updateMaintenanceStatus(); + return saved; + } + +} 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 new file mode 100644 index 00000000..40316691 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java @@ -0,0 +1,338 @@ +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.jobTransfer.pojo.entity.CertificateMaintenanceEntity; +import org.springblade.desk.jobTransfer.pojo.entity.CultivateDetailEntity; +import org.springblade.desk.jobTransfer.pojo.entity.EquipmentMaintenanceEntity; +import org.springblade.desk.jobTransfer.pojo.entity.PostHandleEntity; +import org.springblade.desk.jobTransfer.pojo.enums.*; +import org.springblade.desk.jobTransfer.pojo.excel.PostHandleExcel; +import org.springblade.desk.jobTransfer.pojo.excel.PostHandleImport; +import org.springblade.desk.jobTransfer.pojo.request.PostHandleQuery; +import org.springblade.desk.jobTransfer.pojo.vo.PostHandleVO; +import org.springblade.desk.jobTransfer.mapper.PostHandleMapper; +import org.springblade.desk.jobTransfer.service.ICertificateMaintenanceService; +import org.springblade.desk.jobTransfer.service.ICultivateDetailService; +import org.springblade.desk.jobTransfer.service.IEquipmentMaintenanceService; +import org.springblade.desk.jobTransfer.service.IPostHandleService; +import org.springblade.system.cache.SysCache; +import org.springblade.system.cache.UserCache; +import org.springblade.system.pojo.entity.User; +import org.springblade.system.pojo.entity.UserInfo; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +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.*; +import java.util.stream.Collectors; + +/** + * 岗位处理 服务实现类 + * + * @author qyl + * @since 2026-01-08 + */ +@Service +public class PostHandleServiceImpl extends BaseServiceImpl implements IPostHandleService { + + private ICultivateDetailService iCultivateDetailService; + private ICertificateMaintenanceService certificateMaintenanceService; + private IEquipmentMaintenanceService equipmentMaintenanceService; + + @Resource + public void setICultivateDetailService(ICultivateDetailService iCultivateDetailService) { + this.iCultivateDetailService = iCultivateDetailService; + } + + @Resource + public void setCertificateMaintenanceService(ICertificateMaintenanceService certificateMaintenanceService) { + this.certificateMaintenanceService = certificateMaintenanceService; + } + + @Resource + public void setEquipmentMaintenanceService(IEquipmentMaintenanceService equipmentMaintenanceService) { + this.equipmentMaintenanceService = equipmentMaintenanceService; + } + + @Override + public IPage selectPostHandlePage(IPage page, PostHandleQuery postHandleQuery) { +// return page.setRecords(baseMapper.selectPostHandlePage(page, postHandle)); + List dataList = baseMapper.selectPostHandleVOByCondition(page, postHandleQuery); + return page.setRecords(dataList); + } + + + @Override + public List exportPostHandle(Wrapper queryWrapper) { + List postHandleList = baseMapper.exportPostHandle(queryWrapper); + //postHandleList.forEach(postHandle -> { + // postHandle.setTypeName(DictCache.getValue(DictEnum.YES_NO, PostHandle.getType())); + //}); + return postHandleList; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R regularization(List ids) { + // 1. 验证阶段:查看匹配的数据数量,如数量和id不同,则失败 + Long matchedCount = this.lambdaQuery() + .in(PostHandleEntity::getId, ids) + .eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.IN_PRACTICE_TRAINED.getCode().shortValue()) + .eq(PostHandleEntity::getStaffType, StaffTypeEnum.FIELD_WORK.getCode()) + .eq(PostHandleEntity::getIsDeleted, 0) + .count(); + if (matchedCount < ids.size()) { + return R.fail("请在实习培训完成后操作"); + } + + //更新阶段 + boolean updateSuccess = this.lambdaUpdate() + .in(PostHandleEntity::getId, ids) + .eq(PostHandleEntity::getStaffType, StaffTypeEnum.FIELD_WORK.getCode()) + .set(PostHandleEntity::getStaffType, StaffTypeEnum.FORMAL.getCode()) + .set(PostHandleEntity::getPhStatus, PostHandleStatusEnum.NORMALITY.getCode()) + .set(PostHandleEntity::getUpdateTime, new Date()) + .update(); + return R.status(updateSuccess); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R saveOrUpdateHandle(PostHandleEntity postHandleEntity) { + + if (null != postHandleEntity.getId() && postHandleEntity.getId() > 0) { + //更新 + return R.status(this.updateById(postHandleEntity)); + } else { + //同一用户不允许多次新增 + Long existCount = this.lambdaQuery() + .eq(PostHandleEntity::getUserId, postHandleEntity.getUserId()) + .eq(PostHandleEntity::getIsDeleted, 0) + .count(); + if (existCount > 0) { + return R.fail("该用户已存在岗位处理记录,不允许重复添加"); + } + // 如果是正式工状态为正常 + if (postHandleEntity.getStaffType() == StaffTypeEnum.FORMAL.getCode().shortValue()) { + postHandleEntity.setPhStatus(PostHandleStatusEnum.NORMALITY.getCode().shortValue()); + } else { + postHandleEntity.setPhStatus(PostHandleStatusEnum.IN_PRACTICE.getCode().shortValue()); + } + boolean save = this.save(postHandleEntity); + //实习工自动创建一条培训计划 + createPlan(Arrays.asList(postHandleEntity)); + return R.status(save); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R JobTransferPlan(List ids, Long teacherId, String teacherName, Long trainingPlanId) { + // 1. 验证阶段:查看匹配的数据数量,如数量和id不同,则失败 + Long matchedCount = this.lambdaQuery() + .in(PostHandleEntity::getId, ids) + .eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.NORMALITY.getCode()) + .eq(PostHandleEntity::getStaffType, StaffTypeEnum.FORMAL.getCode()) + .eq(PostHandleEntity::getIsDeleted, 0) + .count(); + if (matchedCount < ids.size()) { + return R.fail("请选择正式工安排转岗计划"); + } + // 2. 更新人员岗位数据 + boolean updateSuccess = this.lambdaUpdate() + .in(PostHandleEntity::getId, ids) + .eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.NORMALITY.getCode()) + .eq(PostHandleEntity::getStaffType, StaffTypeEnum.FORMAL.getCode()) + .set(PostHandleEntity::getPhStatus, PostHandleStatusEnum.JOB_TRANSFER.getCode()) + .set(PostHandleEntity::getUpdateTime, new Date()) + .update(); + if (!updateSuccess) { + return R.fail("转岗计划操作失败"); + } + // 3. 为每条转岗计划新增培训安排 + List cultivateDetails = new ArrayList<>(); + for (Long phId : ids) { + CultivateDetailEntity detail = new CultivateDetailEntity(); + detail.setType(CultivateStatusEnum.JOB_TRANSFER.getCode().shortValue()); + detail.setPlanId(trainingPlanId); + detail.setPhId(phId); + detail.setCaStatus(TrainingStatusEnum.WAIT_DISTRIBUTE.getCode().shortValue()); + detail.setTeacherId(teacherId); + detail.setTeacherName(teacherName); + cultivateDetails.add(detail); + } + boolean saveResult = iCultivateDetailService.saveBatch(cultivateDetails); + + return R.status(saveResult, "操作成功"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R layoffPlan(List ids, Long teacherId, String teacherName, Long trainingPlanId) { + // 1. 验证阶段:查看匹配的数据数量,如数量和id不同,则失败 + Long matchedCount = this.lambdaQuery() + .in(PostHandleEntity::getId, ids) + .eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.NORMALITY.getCode()) + .eq(PostHandleEntity::getStaffType, StaffTypeEnum.FORMAL.getCode()) + .eq(PostHandleEntity::getIsDeleted, 0) + .count(); + if (matchedCount < ids.size()) { + return R.fail("请选择正式工安排下岗计划"); + } + // 2. 更新人员岗位数据 + boolean updateSuccess = this.lambdaUpdate() + .in(PostHandleEntity::getId, ids) + .eq(PostHandleEntity::getPhStatus, PostHandleStatusEnum.NORMALITY.getCode()) + .eq(PostHandleEntity::getStaffType, StaffTypeEnum.FORMAL.getCode()) + .set(PostHandleEntity::getPhStatus, PostHandleStatusEnum.LAID_OFF.getCode()) + .set(PostHandleEntity::getUpdateTime, new Date()) + .update(); + if (!updateSuccess) { + return R.fail("下岗计划操作失败"); + } + // 3. 为每条下岗计划新增培训安排 + List cultivateDetails = new ArrayList<>(); + for (Long phId : ids) { + CultivateDetailEntity detail = new CultivateDetailEntity(); + detail.setType(CultivateStatusEnum.LAYOFF.getCode().shortValue()); + detail.setPlanId(trainingPlanId); + detail.setPhId(phId); + detail.setCaStatus(TrainingStatusEnum.WAIT_DISTRIBUTE.getCode().shortValue()); + detail.setTeacherId(teacherId); + detail.setTeacherName(teacherName); + cultivateDetails.add(detail); + } + boolean saveResult = iCultivateDetailService.saveBatch(cultivateDetails); + + return R.status(saveResult, "操作成功"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R saveExcelData(List postHandleImports) { + //检查导入的集合postHandleImports,不允许用户code重复 + Set importedCodes = new HashSet<>(); + Set duplicateCodes = postHandleImports.stream() + .map(PostHandleImport::getCode) // 假设PostHandleImport有getCode方法 + .filter(code -> !importedCodes.add(code)) // 如果add失败,说明已存在,即重复 + .collect(Collectors.toSet()); + + if (!duplicateCodes.isEmpty()) { + // 存在重复的用户code,返回错误信息。假设R是统一的返回结果类 + return R.fail("导入数据中存在重复的工号:" + duplicateCodes); + } + List list = postHandleImports.stream().map(this::convertSingle).collect(Collectors.toList()); + //获取全部用户id,对比PostHandleEntity已有数据,不允许重复添加 + List ids = list.stream().map(PostHandleEntity::getUserId) + .collect(Collectors.toList()); + Long existCount = this.lambdaQuery() + .in(PostHandleEntity::getUserId, ids) + .eq(PostHandleEntity::getIsDeleted, 0) + .count(); + if (existCount > 0) { + return R.fail("用户已存在岗位处理记录,不允许重复添加"); + } + boolean saved = this.saveBatch(list); + if (!saved) { + return R.fail("操作失败"); + } + try { + createPlan(list); // 确保此方法中的异常能传播出来 + } catch (Exception e) { + // 由于配置了 rollbackFor = Exception.class,异常抛出后事务将回滚 + throw new RuntimeException("创建培训计划失败,数据已回滚", e); + } + return R.status(saved); + } + + @Override + public R jobTransfer(PostHandleEntity postHandleEntity) { + if (!(PostHandleStatusEnum.JOB_TRANSFER_TRAINED.getCode().shortValue() == postHandleEntity.getPhStatus())) { + return R.fail("请在转岗培训完成后操作"); + } + postHandleEntity.setPhStatus(PostHandleStatusEnum.NORMALITY.getCode().shortValue()); + postHandleEntity.setToNewJob(new Date()); + return R.status(this.updateById(postHandleEntity)); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public R depart(PostHandleEntity postHandleEntity) { + //1.离职修改状态 + if (!(PostHandleStatusEnum.LAID_OFF_TRAINED.getCode().shortValue() == postHandleEntity.getPhStatus())) { + return R.fail("请在下岗培训完成后操作"); + } + postHandleEntity.setPhStatus(PostHandleStatusEnum.DEPART.getCode().shortValue()); + postHandleEntity.setToNewJob(new Date()); + boolean updateP = this.updateById(postHandleEntity); + //2.离职后需把证书维护的状态置为离职 + boolean updateC = certificateMaintenanceService.lambdaUpdate() + .eq(CertificateMaintenanceEntity::getPhId, postHandleEntity.getId()) + .set(CertificateMaintenanceEntity::getMaintenanceStatus, MaintenanceStatusEnum.DEPART.getCode().shortValue()) + .update(); + //3.离职后需把设备维护的状态置为离职 + boolean updateE = equipmentMaintenanceService.lambdaUpdate() + .eq(EquipmentMaintenanceEntity::getPhId, postHandleEntity.getId()) + .set(EquipmentMaintenanceEntity::getMaintenanceStatus, MaintenanceStatusEnum.DEPART.getCode().shortValue()) + .update(); + return R.status(updateP); + } + + /** + * 转换单个对象 + */ + private PostHandleEntity convertSingle(PostHandleImport excel) { + PostHandleEntity entity = new PostHandleEntity(); + // 核心:属性拷贝,两个类的字段名和类型必须一致 + BeanUtils.copyProperties(excel, entity); + // 对于字段名不完全一致或有特殊处理的字段,可以在此手动设置 + //用工类型 + entity.setStaffType(StaffTypeEnum.of(excel.getStaffTypeName()).getCode().shortValue()); + //用户及部门 + UserInfo userByCode = UserCache.getUserByCode(excel.getCode()); + if (userByCode == null || userByCode.getUser() == null) { + //报错并提示 + throw new IllegalArgumentException("工号 '" + excel.getCode() + "' 在系统中不存在,请检查数据准确性"); + } + entity.setUserId(userByCode.getUser().getId()); + entity.setName(userByCode.getUser().getRealName()); + entity.setDeptId(Long.valueOf(userByCode.getUser().getDeptId())); + //技能等级 + entity.setSkill(SkillEnum.of(excel.getSkillName()).getCode().shortValue()); + //婚姻状态 + entity.setMarriage(MarriageEnum.of(excel.getMarriageName()).getCode().toString()); + // 如果是正式工状态为正常 + if (entity.getStaffType() == StaffTypeEnum.FORMAL.getCode().shortValue()) { + entity.setPhStatus(PostHandleStatusEnum.NORMALITY.getCode().shortValue()); + } else { + entity.setPhStatus(PostHandleStatusEnum.IN_PRACTICE.getCode().shortValue()); + } + return entity; + } + /** + * 实习工自动创建一条培训计划 + * + * @param postHandleEntitys + */ + public void createPlan(List postHandleEntitys) { + //新增实习工时,为其创建一条培训计划 + List cultivateDetailEntities = postHandleEntitys.stream() + .filter(entity -> entity.getStaffType() == StaffTypeEnum.FIELD_WORK.getCode().shortValue()) + .map(fieldWork -> { + CultivateDetailEntity detailEntity = new CultivateDetailEntity(); + detailEntity.setPhId(fieldWork.getId()); + detailEntity.setType((short) 1); + detailEntity.setCaStatus(TrainingStatusEnum.NOT_CONFIGURED.getCode().shortValue()); + return detailEntity; + }) + .collect(Collectors.toList()); + + iCultivateDetailService.saveBatch(cultivateDetailEntities); + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/TrainingPlanServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/TrainingPlanServiceImpl.java new file mode 100644 index 00000000..f642b888 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/TrainingPlanServiceImpl.java @@ -0,0 +1,51 @@ +package org.springblade.desk.jobTransfer.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.springblade.desk.jobTransfer.pojo.entity.TrainingPlanEntity; +import org.springblade.desk.jobTransfer.pojo.excel.TrainingPlanExcel; +import org.springblade.desk.jobTransfer.pojo.vo.TrainingPlanVO; +import org.springblade.desk.jobTransfer.mapper.TrainingPlanMapper; +import org.springblade.desk.jobTransfer.service.ITrainingPlanService; +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 java.util.List; +import java.util.Objects; + +/** + * 培训计划模板 服务实现类 + * + * @author qyl + * @since 2026-01-08 + */ +@Service +public class TrainingPlanServiceImpl extends BaseServiceImpl implements ITrainingPlanService { + + @Override + public IPage selectTrainingPlanPage(IPage page, TrainingPlanEntity trainingPlan) { +// return page.setRecords(baseMapper.selectTrainingPlanPage(page, trainingPlan)); + // 1. 创建条件构造器 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + + // 2. 动态添加条件(核心!) + // 根据实体对象 entity 中字段是否为空,来动态拼接WHERE条件 + wrapper.like(Objects.nonNull(trainingPlan.getName()), TrainingPlanEntity::getName, trainingPlan.getName()); + + // 3. 执行分页查询 + return baseMapper.selectPage(page, wrapper); + } + + + @Override + public List exportTrainingPlan(Wrapper queryWrapper) { + List trainingPlanList = baseMapper.exportTrainingPlan(queryWrapper); + //trainingPlanList.forEach(trainingPlan -> { + // trainingPlan.setTypeName(DictCache.getValue(DictEnum.YES_NO, TrainingPlan.getType())); + //}); + return trainingPlanList; + } + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/CertificateMaintenanceWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/CertificateMaintenanceWrapper.java new file mode 100644 index 00000000..49f91ec6 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/CertificateMaintenanceWrapper.java @@ -0,0 +1,35 @@ +package org.springblade.desk.jobTransfer.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.desk.jobTransfer.pojo.entity.CertificateMaintenanceEntity; +import org.springblade.desk.jobTransfer.pojo.vo.CertificateMaintenanceVO; + +import java.util.Objects; + +/** + * 证书维护 包装类,返回视图层所需的字段 + * + * @author qyl + * @since 2026-01-08 + */ +public class CertificateMaintenanceWrapper extends BaseEntityWrapper { + + public static CertificateMaintenanceWrapper build() { + return new CertificateMaintenanceWrapper(); + } + + @Override + public CertificateMaintenanceVO entityVO(CertificateMaintenanceEntity certificateMaintenance) { + CertificateMaintenanceVO certificateMaintenanceVO = Objects.requireNonNull(BeanUtil.copyProperties(certificateMaintenance, CertificateMaintenanceVO.class)); + + //User createUser = UserCache.getUser(certificateMaintenance.getCreateUser()); + //User updateUser = UserCache.getUser(certificateMaintenance.getUpdateUser()); + //certificateMaintenanceVO.setCreateUserName(createUser.getName()); + //certificateMaintenanceVO.setUpdateUserName(updateUser.getName()); + + return certificateMaintenanceVO; + } + + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/CertificateTypeWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/CertificateTypeWrapper.java new file mode 100644 index 00000000..920d0d1c --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/CertificateTypeWrapper.java @@ -0,0 +1,35 @@ +package org.springblade.desk.jobTransfer.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.desk.jobTransfer.pojo.entity.CertificateTypeEntity; +import org.springblade.desk.jobTransfer.pojo.vo.CertificateTypeVO; + +import java.util.Objects; + +/** + * 证书类型 包装类,返回视图层所需的字段 + * + * @author qyl + * @since 2026-01-08 + */ +public class CertificateTypeWrapper extends BaseEntityWrapper { + + public static CertificateTypeWrapper build() { + return new CertificateTypeWrapper(); + } + + @Override + public CertificateTypeVO entityVO(CertificateTypeEntity certificateType) { + CertificateTypeVO certificateTypeVO = Objects.requireNonNull(BeanUtil.copyProperties(certificateType, CertificateTypeVO.class)); + + //User createUser = UserCache.getUser(certificateType.getCreateUser()); + //User updateUser = UserCache.getUser(certificateType.getUpdateUser()); + //certificateTypeVO.setCreateUserName(createUser.getName()); + //certificateTypeVO.setUpdateUserName(updateUser.getName()); + + return certificateTypeVO; + } + + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/CultivateDetailWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/CultivateDetailWrapper.java new file mode 100644 index 00000000..39ef09f7 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/CultivateDetailWrapper.java @@ -0,0 +1,35 @@ +package org.springblade.desk.jobTransfer.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.desk.jobTransfer.pojo.entity.CultivateDetailEntity; +import org.springblade.desk.jobTransfer.pojo.vo.CultivateDetailVO; + +import java.util.Objects; + +/** + * 培训安排 包装类,返回视图层所需的字段 + * + * @author qyl + * @since 2026-01-08 + */ +public class CultivateDetailWrapper extends BaseEntityWrapper { + + public static CultivateDetailWrapper build() { + return new CultivateDetailWrapper(); + } + + @Override + public CultivateDetailVO entityVO(CultivateDetailEntity cultivateDetail) { + CultivateDetailVO cultivateDetailVO = Objects.requireNonNull(BeanUtil.copyProperties(cultivateDetail, CultivateDetailVO.class)); + + //User createUser = UserCache.getUser(cultivateDetail.getCreateUser()); + //User updateUser = UserCache.getUser(cultivateDetail.getUpdateUser()); + //cultivateDetailVO.setCreateUserName(createUser.getName()); + //cultivateDetailVO.setUpdateUserName(updateUser.getName()); + + return cultivateDetailVO; + } + + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/EquipmentMaintenanceWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/EquipmentMaintenanceWrapper.java new file mode 100644 index 00000000..9cd1b3b9 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/EquipmentMaintenanceWrapper.java @@ -0,0 +1,35 @@ +package org.springblade.desk.jobTransfer.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.desk.jobTransfer.pojo.entity.EquipmentMaintenanceEntity; +import org.springblade.desk.jobTransfer.pojo.vo.EquipmentMaintenanceVO; + +import java.util.Objects; + +/** + * 岗位设备维护 包装类,返回视图层所需的字段 + * + * @author qyl + * @since 2026-01-08 + */ +public class EquipmentMaintenanceWrapper extends BaseEntityWrapper { + + public static EquipmentMaintenanceWrapper build() { + return new EquipmentMaintenanceWrapper(); + } + + @Override + public EquipmentMaintenanceVO entityVO(EquipmentMaintenanceEntity equipmentMaintenance) { + EquipmentMaintenanceVO equipmentMaintenanceVO = Objects.requireNonNull(BeanUtil.copyProperties(equipmentMaintenance, EquipmentMaintenanceVO.class)); + + //User createUser = UserCache.getUser(equipmentMaintenance.getCreateUser()); + //User updateUser = UserCache.getUser(equipmentMaintenance.getUpdateUser()); + //equipmentMaintenanceVO.setCreateUserName(createUser.getName()); + //equipmentMaintenanceVO.setUpdateUserName(updateUser.getName()); + + return equipmentMaintenanceVO; + } + + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/PostHandleWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/PostHandleWrapper.java new file mode 100644 index 00000000..3a1b5ad0 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/PostHandleWrapper.java @@ -0,0 +1,44 @@ +package org.springblade.desk.jobTransfer.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.desk.jobTransfer.pojo.entity.PostHandleEntity; +import org.springblade.desk.jobTransfer.pojo.vo.PostHandleVO; +import org.springblade.system.cache.SysCache; +import org.springblade.system.cache.UserCache; +import org.springblade.system.pojo.entity.Dept; +import org.springblade.system.pojo.entity.User; +import org.springblade.system.pojo.entity.UserDept; + +import java.util.Objects; + +/** + * 岗位处理 包装类,返回视图层所需的字段 + * + * @author qyl + * @since 2026-01-08 + */ +public class PostHandleWrapper extends BaseEntityWrapper { + + public static PostHandleWrapper build() { + return new PostHandleWrapper(); + } + + @Override + public PostHandleVO entityVO(PostHandleEntity postHandle) { + PostHandleVO postHandleVO = Objects.requireNonNull(BeanUtil.copyProperties(postHandle, PostHandleVO.class)); + + //User createUser = UserCache.getUser(postHandle.getCreateUser()); + //User updateUser = UserCache.getUser(postHandle.getUpdateUser()); + //postHandleVO.setCreateUserName(createUser.getName()); + //postHandleVO.setUpdateUserName(updateUser.getName()); + User user = UserCache.getUser(postHandle.getUserId()); + Dept dept = SysCache.getDept(postHandle.getDeptId()); + postHandleVO.setUserName(user.getRealName()); + postHandleVO.setUserCode(user.getCode()); + postHandleVO.setDeptName(dept.getDeptName()); + return postHandleVO; + } + + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/TrainingPlanWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/TrainingPlanWrapper.java new file mode 100644 index 00000000..8eb00fa9 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/wrapper/TrainingPlanWrapper.java @@ -0,0 +1,35 @@ +package org.springblade.desk.jobTransfer.wrapper; + +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.desk.jobTransfer.pojo.entity.TrainingPlanEntity; +import org.springblade.desk.jobTransfer.pojo.vo.TrainingPlanVO; + +import java.util.Objects; + +/** + * 培训计划模板 包装类,返回视图层所需的字段 + * + * @author qyl + * @since 2026-01-08 + */ +public class TrainingPlanWrapper extends BaseEntityWrapper { + + public static TrainingPlanWrapper build() { + return new TrainingPlanWrapper(); + } + + @Override + public TrainingPlanVO entityVO(TrainingPlanEntity trainingPlan) { + TrainingPlanVO trainingPlanVO = Objects.requireNonNull(BeanUtil.copyProperties(trainingPlan, TrainingPlanVO.class)); + + //User createUser = UserCache.getUser(trainingPlan.getCreateUser()); + //User updateUser = UserCache.getUser(trainingPlan.getUpdateUser()); + //trainingPlanVO.setCreateUserName(createUser.getName()); + //trainingPlanVO.setUpdateUserName(updateUser.getName()); + + return trainingPlanVO; + } + + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/AssayContentController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/AssayContentController.java index e4508dd8..8f8f8494 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/AssayContentController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/AssayContentController.java @@ -45,7 +45,7 @@ public class AssayContentController extends BladeController { @GetMapping("/page") @Parameters({ @Parameter(name = "wcId", description = "作业中心", in = ParameterIn.QUERY, schema = @Schema(type = "string")), - @Parameter(name = "status", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "int")) + @Parameter(name = "status", description = "状态, 10000:未使用, 10001:已使用, 10002:已过期", in = ParameterIn.QUERY, schema = @Schema(type = "int")) }) @Operation(summary = "分页", description = "") public R> page(@Parameter(hidden = true) AssayContent entity, Query query) { @@ -54,56 +54,65 @@ public class AssayContentController extends BladeController { } /** - * 详情 - */ - @GetMapping("/detail") - @Operation(summary = "详情", description = "") - public R detail(String id) { - AssayContent detail = assayContentService.getById(id); - return R.data(detail); - } + * 详情 + */ + @GetMapping("/detail") + @Operation(summary = "详情", description = "") + public R detail(String id) { + AssayContent content = assayContentService.getById(id); + List detailList = assayContentDetailService.getByContentId(content.getId()); - /** - * 新增 - */ - @PostMapping("/save") - @Operation(summary = "新增", description = "") - public R save(@Valid @RequestBody AssayContentSave saveData) { - AssayContent entity = saveData.getAssayContent(); - List detailList = saveData.getDetailList(); - assayContentService.save(entity, detailList); - return R.status(true); - } + AssayContentVo vo = AssayContentWrapper.build().entityVO(content); + vo.setDetailList(detailList); + return R.data(vo); + } - /** - * 修改 - */ - @PostMapping("/update") - @Operation(summary = "修改", description = "") - public R update(@Valid @RequestBody AssayContentSave saveData) { - AssayContent entity = saveData.getAssayContent(); - List detailList = saveData.getDetailList(); - assayContentService.update(entity, detailList); - return R.status(true); - } + /** + * 新增 + */ + @PostMapping("/save") + @Operation(summary = "新增", description = "") + public R save(@Valid @RequestBody AssayContentSave saveData) { + AssayContent entity = saveData.getAssayContent(); + List detailList = saveData.getDetailList(); + assayContentService.save(entity, detailList); + return R.status(true); + } - /** - * 删除 - */ - @PostMapping("/remove") - @Operation(summary = "逻辑删除", description = "传入ids") - public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { - Boolean result = assayContentService.deleteLogic(Func.toLongList(ids)); - return R.status(result); - } + /** + * 修改 + */ + @PostMapping("/update") + @Operation(summary = "修改", description = "") + public R update(@Valid @RequestBody AssayContentSave saveData) { + AssayContent entity = saveData.getAssayContent(); + List detailList = saveData.getDetailList(); + assayContentService.update(entity, detailList); + return R.status(true); + } - /** - * 列表 - 未使用的化验含量 - */ - @GetMapping("/listNoUsed") - @Operation(summary = "未使用的化验含量列表", description = "") - public R listNoUsed(@Parameter(hidden = true) AssayContentDetail authClient, Query query) { - return R.data(null); - } + /** + * 删除 + */ + @PostMapping("/remove") + @Operation(summary = "逻辑删除", description = "传入ids") + public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + // 删除化验记录 + Boolean result = assayContentService.deleteLogic(Func.toLongList(ids)); + + // 删除化验记录明细 + assayContentDetailService.deleteLogicByContentId(Func.toLongList(ids)); + return R.status(result); + } + + /** + * 列表 - 未使用的化验含量明细列表 + */ + @GetMapping("/detailListNoUsed") + @Operation(summary = "未使用的化验含量明细列表", description = "") + public R> detailListNoUsed(@Parameter(hidden = true) Long workCenterId) { + List detailList = assayContentService.detailListNoUsed(workCenterId); + return R.data(detailList); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/MoldPlanController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/MoldPlanController.java index 67c77f55..9e8f23fd 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/MoldPlanController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/MoldPlanController.java @@ -22,7 +22,6 @@ import org.springblade.desk.order.pojo.request.MoldPlanSave; import org.springblade.desk.order.pojo.vo.MoldPlanVo; import org.springblade.desk.order.service.IMoldPlanOrderService; import org.springblade.desk.order.service.IMoldPlanService; -import org.springblade.desk.order.service.IMoldPlanToolService; import org.springblade.desk.order.wrapper.MoldPlanWrapper; import org.springframework.web.bind.annotation.*; @@ -40,64 +39,84 @@ import java.util.List; public class MoldPlanController extends BladeController { private final IMoldPlanService moldPlanService; - private final IMoldPlanToolService moldPlanToolService; private final IMoldPlanOrderService moldPlanOrderService; /** - * 分页 - */ - @GetMapping("/page") + * 分页 + */ + @GetMapping("/page") @Parameters({ @Parameter(name = "moCode", description = "工装号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), @Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")) }) - @Operation(summary = "分页", description = "") - public R> page(@Parameter(hidden = true) MoldPlan entity, Query query) { + @Operation(summary = "分页-所有需求", description = "") + public R> page(@Parameter(hidden = true) MoldPlan entity, Query query) { IPage page = moldPlanService.selectPage(Condition.getPage(query), entity); return R.data(MoldPlanWrapper.build().pageVO(page)); - } + } - /** - * 详情 - */ - @GetMapping("/detail") - @Operation(summary = "详情", description = "") - public R detail(String id) { - MoldPlan detail = moldPlanService.getById(id); - return R.data(detail); - } + /** + * 分页 + */ + @GetMapping("/pageApply") + @Parameters({ + @Parameter(name = "moCode", description = "工装号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")) + }) + @Operation(summary = "分页-申报记录", description = "") + public R> pageApply(@Parameter(hidden = true) MoldPlan entity, Query query) { + IPage page = moldPlanService.selectPageApply(Condition.getPage(query), entity); + return R.data(MoldPlanWrapper.build().pageVO(page)); + } - /** - * 新增 - */ - @PostMapping("/save") - @Operation(summary = "新增", description = "") - public R save(@Valid @RequestBody MoldPlanSave saveData) { - MoldPlan entity = saveData.getMoldPlan(); - List orderList = saveData.getOrderList(); - List toolList = saveData.getToolList(); - moldPlanService.save(entity, orderList, toolList); - return R.status(true); - } + /** + * 分页-近一月的模具计划 + */ + @GetMapping("/pageNearlyMonth") + @Operation(summary = "分页-近一月的模具计划", description = "") + public R> pageNearlyMonth(@Parameter(hidden = true) MoldPlan entity, Query query) { + IPage page = moldPlanService.pageNearlyMonth(Condition.getPage(query), entity); + return R.data(MoldPlanWrapper.build().pageVO(page)); + } - /** - * 修改 - */ - @PostMapping("/update") - @Operation(summary = "修改", description = "") - public R update(@Valid @RequestBody MoldPlanSave saveData) { - MoldPlan entity = saveData.getMoldPlan(); - List orderList = saveData.getOrderList(); - List toolList = saveData.getToolList(); - moldPlanService.update(entity, orderList, toolList); - return R.status(true); - } + /** + * 详情 + */ + @GetMapping("/detail") + @Operation(summary = "详情", description = "") + public R detail(String id) { + MoldPlan detail = moldPlanService.getById(id); + return R.data(detail); + } - /** - * 删除 - */ - @PostMapping("/remove") - @Operation(summary = "逻辑删除", description = "传入ids") + /** + * 新增 + */ + @PostMapping("/save") + @Operation(summary = "新增", description = "") + public R save(@Valid @RequestBody List planList) { + moldPlanService.save(planList); + return R.status(true); + } + + /** + * 修改 + */ + @PostMapping("/update") + @Operation(summary = "修改", description = "") + public R update(@Valid @RequestBody MoldPlanSave saveData) { + MoldPlan entity = saveData.getMoldPlan(); + List orderList = saveData.getOrderList(); + List toolList = saveData.getToolList(); + moldPlanService.update(entity, orderList, toolList); + return R.status(true); + } + + /** + * 删除 + */ + @PostMapping("/remove") + @Operation(summary = "逻辑删除", description = "传入ids") public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { Boolean result = moldPlanService.deleteLogic(Func.toLongList(ids)); return R.status(result); @@ -110,17 +129,7 @@ public class MoldPlanController extends BladeController { @PostMapping("/closeBatch") @Operation(summary = "批量关闭", description = "传入ids") public R closeBatch(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { - Boolean result = moldPlanService.changeStatus(Func.toLongList(ids), MoldPlanEnum.STATUS_CLOSE.getCategory()); + Boolean result = moldPlanService.changeStatus(Func.toLongList(ids), MoldPlanEnum.STATUS_CLOSE.getCode()); return R.status(result); - } - - /** - * 分页-近一月的模具计划 - */ - @GetMapping("/pageNearlyMonth") - @Operation(summary = "分页", description = "") - public R> pageNearlyMonth(@Parameter(hidden = true) MoldPlan authClient, Query query) { - // 根据零件号,分页查询近一月的模具申报 - return R.data(null); - } + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsRecordController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsRecordController.java index de81cd4e..7ffe8b00 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsRecordController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsRecordController.java @@ -17,12 +17,14 @@ import org.springblade.core.tool.utils.Func; import org.springblade.desk.order.pojo.entity.AssayContentDetail; import org.springblade.desk.order.pojo.entity.PlateGoodsRecord; import org.springblade.desk.order.pojo.entity.PlateGoodsRecordDetail; +import org.springblade.desk.order.pojo.entity.YieldOrder; import org.springblade.desk.order.pojo.enums.PlateGoodsEnum; import org.springblade.desk.order.pojo.request.PlateGoodsRecordSave; import org.springblade.desk.order.pojo.vo.PlateGoodsRecordVo; import org.springblade.desk.order.service.IPlateGoodsRecordDetailService; import org.springblade.desk.order.service.IPlateGoodsRecordService; import org.springblade.desk.order.wrapper.PlateGoodsRecordWrapper; +import org.springblade.desk.order.wrapper.YieldOrderWrapper; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -45,11 +47,9 @@ public class PlateGoodsRecordController extends BladeController { * 分页 */ @GetMapping("/page") - @Parameters({ - @Parameter(name = "demandCode", description = "需求单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameters({@Parameter(name = "demandCode", description = "需求单号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), @Parameter(name = "wcId", description = "作业中心", in = ParameterIn.QUERY, schema = @Schema(type = "string")), - @Parameter(name = "status", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "int")) - }) + @Parameter(name = "status", description = "状态,10000:待审核, 10001:审核通过, 10002:使用中, 10003:已超期, 10004:已完成, 10005:审核未通过, 10006:已关闭", in = ParameterIn.QUERY, schema = @Schema(type = "int"))}) @Operation(summary = "分页", description = "") public R> page(@Parameter(hidden = true) PlateGoodsRecord entity, Query query) { IPage page = goodsRecordService.selectPage(Condition.getPage(query), entity); @@ -61,9 +61,16 @@ public class PlateGoodsRecordController extends BladeController { */ @GetMapping("/detail") @Operation(summary = "详情", description = "") - public R detail(String id) { + public R detail(String id) { PlateGoodsRecord detail = goodsRecordService.getById(id); - return R.data(detail); + + PlateGoodsRecordVo vo = PlateGoodsRecordWrapper.build().entityVO(detail); + + // 查询关联订单列表 + List yieldOrderList = goodsRecordService.listDetailYieldOrder(detail.getId()); + vo.setYieldOrderList(YieldOrderWrapper.build().listVO(yieldOrderList)); + + return R.data(vo); } /** @@ -96,6 +103,7 @@ public class PlateGoodsRecordController extends BladeController { @PostMapping("/remove") @Operation(summary = "逻辑删除", description = "传入ids") public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { + // TODO 验证是否进行添加, 若已添加, 不允许删除 Boolean result = goodsRecordService.deleteLogic(Func.toLongList(ids)); return R.status(result); } @@ -118,7 +126,7 @@ public class PlateGoodsRecordController extends BladeController { @PostMapping("/closeBatch") @Operation(summary = "批量关闭", description = "传入ids") public R closeBatch(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { - Boolean result = goodsRecordService.changeStatus(Func.toLongList(ids), PlateGoodsEnum.STATUS_CLOSE.getCategory()); + Boolean result = goodsRecordService.changeStatus(Func.toLongList(ids), PlateGoodsEnum.STATUS_CLOSE.getCode()); return R.status(result); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java index 15097124..55c79d6c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java @@ -99,12 +99,31 @@ public class YieldOrderController extends BladeController { page.setRecords(new ArrayList<>()); if (ObjectUtil.isNotEmpty(entity.getValidationResult())) { - page = yieldOrderService.selectPageSintering(Condition.getPage(query), entity); + page = yieldOrderService.selectPage(Condition.getPage(query), entity); } return R.data(YieldOrderWrapper.build().pageVO(page)); } + /** + * 分页查询列表 - 物料申请 + */ + @GetMapping("/pageMaterialApply") + @Parameters({ + @Parameter(name = "wcId", description = "作业中心", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "materialType", description = "物料类型,1:金钾,2:银钾", in = ParameterIn.QUERY, schema = @Schema(type = "string")), + @Parameter(name = "overHalfMon", description = "使用半月以上的数据,0:否,1:是", in = ParameterIn.QUERY, schema = @Schema(type = "string")) + }) + @Operation(summary = "分页-物料申请", description = "") + public R> pageMaterialApply(Long wcId, Integer materialType, Integer overHalfMon, Query query) { + IPage page = Condition.getPage(query); + page.setRecords(new ArrayList<>()); + + page = yieldOrderService.pageMaterialApply(Condition.getPage(query), wcId, materialType, overHalfMon); + + return R.data(YieldOrderWrapper.build().pageVO(page)); + } + /** * 详情 */ diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldPlanController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldPlanController.java index 4edf05ce..2d378bcb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldPlanController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldPlanController.java @@ -58,7 +58,7 @@ public class YieldPlanController extends BladeController { @Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), @Parameter(name = "status", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "int")) }) - @Operation(summary = "分页", description = "") + @Operation(summary = "分页查询列表-电镀", description = "") public R> pageElectroplate(@Parameter(hidden = true) YieldPlan entity, Query query) { IPage page = yieldPlanService.selectPageElectroplate(Condition.getPage(query), entity); return R.data(YieldPlanWrapper.build().pageVO(page)); @@ -73,7 +73,7 @@ public class YieldPlanController extends BladeController { @Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), @Parameter(name = "status", description = "状态", in = ParameterIn.QUERY, schema = @Schema(type = "int")) }) - @Operation(summary = "分页", description = "") + @Operation(summary = "分页查询列表-烧结", description = "") public R> pageSintering(@Parameter(hidden = true) YieldPlan entity, Query query) { IPage page = yieldPlanService.selectPageSintering(Condition.getPage(query), entity); return R.data(YieldPlanWrapper.build().pageVO(page)); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.java index 55e40435..928a5839 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.java @@ -22,4 +22,12 @@ public interface AssayContentDetailMapper extends BaseMapper * @return */ List selectPage(IPage page, AssayContentDetail entity); + + /** + * 根据化验记录逻辑删除明细 + * + * @param contentIds + * @return + */ + boolean deleteLogicByContentId(List contentIds); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.xml index 41180f0b..ba8b5b4e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentDetailMapper.xml @@ -4,6 +4,17 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + + UPDATE MES_ASSAY_CONTENT_DETAIL + SET IS_DELETED = TRUE + WHERE AC_ID IN + + #{contentId} + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.xml index 505d66d6..2ea0082a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/AssayContentMapper.xml @@ -5,8 +5,9 @@ SELECT ID, TENANT_ID, CREATE_USER, CREATE_DEPT, CREATE_TIME, UPDATE_USER, UPDATE_TIME, STATUS, IS_DELETED, - MO_CODE, MO_NAME, QUANTITY, ERP_ID, YP_ID, ERP_WO_CODE, MAF_STATUS, PLAN_TYPE, NEED_DATE, KEEPER, RELEASER, QUA_LEVEL, + MO_CODE, MO_NAME, QUANTITY, ERP_ID, YP_ID, ERP_WO_CODE, MAF_STATUS, PLAN_TYPE_CODE, NEED_DATE, KEEPER, RELEASER, QUA_LEVEL, PLAN_TYPE_NAME, PART_CODE, PART_NAME, MEMO, MAF_TYPE, URGENT_TYPE FROM MES_MOLD_PLAN + WHERE IS_DELETED = 0 + + AND SOURCE = #{entity.source} + + + AND MO_CODE LIKE CONCAT('%', CONCAT(#{entity.moCode}, '%')) + + + AND PART_CODE LIKE CONCAT('%', CONCAT(#{entity.partCode}, '%')) + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.xml index d2a031b5..ced2a749 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldOrderMapper.xml @@ -20,6 +20,9 @@ #{yieldType.code} + + + AND WORK_CENTER_ID = #{entity.workCenterId} AND YP_CODE LIKE CONCAT('%', CONCAT(#{entity.ypCode}, '%')) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentDetailService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentDetailService.java index 2f358e71..65f7d7cb 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentDetailService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentDetailService.java @@ -1,9 +1,12 @@ package org.springblade.desk.order.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import jakarta.validation.constraints.NotEmpty; import org.springblade.core.mp.base.BaseService; import org.springblade.desk.order.pojo.entity.AssayContentDetail; +import java.util.List; + /** * 服务实现类 * @@ -18,4 +21,22 @@ public interface IAssayContentDetailService extends BaseService selectPage(IPage page, AssayContentDetail entity); + + /** + * 根据化验记录查询明细列表 + * + * @param contentId + * @return + */ + List getByContentId(Long contentId); + + /** + * 根据化验记录逻辑删除明细 + * + * @param contentIds + * @return + */ + boolean deleteLogicByContentId(@NotEmpty List contentIds); + + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentService.java index 4b698296..cccd2dff 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IAssayContentService.java @@ -39,4 +39,12 @@ public interface IAssayContentService extends BaseService { * @return */ boolean update(AssayContent entity, List detailList); + + /** + * 查询作业中心下,未使用的化验含量明细列表 + * + * @param workCenterId + * @return + */ + List detailListNoUsed(Long workCenterId); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldPlanService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldPlanService.java index 9d34d028..6e8fb0c7 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldPlanService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldPlanService.java @@ -23,6 +23,32 @@ public interface IMoldPlanService extends BaseService { */ IPage selectPage(IPage page, MoldPlan entity); + /** + * 自定义分页 - 人工申报的 + * + * @param page + * @param entity + * @return + */ + IPage selectPageApply(IPage page, MoldPlan entity); + + /** + * 自定义分页 - 近一月的模具计划 + * + * @param page + * @param entity + * @return + */ + IPage pageNearlyMonth(IPage page, MoldPlan entity); + + /** + * 保存 + * + * @param planList + * @return + */ + boolean save(List planList); + /** * 保存 * diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordDetailService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordDetailService.java index 1cb40853..ed3ee52a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordDetailService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordDetailService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; import org.springblade.desk.order.pojo.entity.PlateGoodsRecordDetail; +import java.util.List; + /** * 服务实现类 * @@ -18,4 +20,20 @@ public interface IPlateGoodsRecordDetailService extends BaseService selectPage(IPage page, PlateGoodsRecordDetail entity); + + /** + * 根据镀层需求上报删除明细列表 + * + * @param recordId + * @return + */ + boolean deleteLogicByRecordId(Long recordId); + + /** + * 根据镀层需求上报查询明细列表 + * + * @param recordId + * @return + */ + List listByRecordId(Long recordId); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordService.java index bc3b2781..e7f8e365 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IPlateGoodsRecordService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; import org.springblade.desk.order.pojo.entity.PlateGoodsRecord; import org.springblade.desk.order.pojo.entity.PlateGoodsRecordDetail; +import org.springblade.desk.order.pojo.entity.YieldOrder; import java.util.List; @@ -40,13 +41,21 @@ public interface IPlateGoodsRecordService extends BaseService */ boolean update(PlateGoodsRecord entity, List detailList); - /** - * 批量审核 - * - * @param ids - * @param approvalStatus - * @param approvalMemo - * @return - */ - boolean confirmBatch(List ids, Integer approvalStatus, String approvalMemo); + /** + * 批量审核 + * + * @param ids + * @param approvalStatus + * @param approvalMemo + * @return + */ + boolean confirmBatch(List ids, Integer approvalStatus, String approvalMemo); + + /** + * 获取详情关联的生产订单列表 + * + * @param id + * @return + */ + List listDetailYieldOrder(Long id); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java index 958a6e6c..d6c73150 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java @@ -43,6 +43,17 @@ public interface IYieldOrderService extends BaseService { */ IPage selectPageSintering(IPage page, YieldOrder entity); + /** + * 自定义分页 - 物料申请 + * + * @param page + * @param wcId + * @param materialType + * @param overHalfMon + * @return + */ + IPage pageMaterialApply(IPage page, Long wcId, Integer materialType, Integer overHalfMon); + /** * 批量确认 * diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentDetailServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentDetailServiceImpl.java index 038bff74..f12f4336 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentDetailServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentDetailServiceImpl.java @@ -1,6 +1,9 @@ package org.springblade.desk.order.service.impl; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.springblade.common.constant.CommonConstant; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.desk.order.pojo.entity.AssayContentDetail; import org.springblade.desk.order.mapper.AssayContentDetailMapper; @@ -22,4 +25,22 @@ public class AssayContentDetailServiceImpl extends BaseServiceImpl dataList = baseMapper.selectPage(page, entity); return page.setRecords(dataList); } + + @Override + public List getByContentId(Long contentId) { + Wrapper wrapper = Wrappers.lambdaQuery(AssayContentDetail.class) + .eq(AssayContentDetail::getIsDeleted, CommonConstant.DELETE_FALSE) + .eq(AssayContentDetail::getAcId, contentId); + List detailList = baseMapper.selectList(wrapper); + return detailList; + } + + @Override + public boolean deleteLogicByContentId(List contentIds) { + return baseMapper.deleteLogicByContentId(contentIds); + } + + + + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentServiceImpl.java index 0300cad7..3a0b513c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/AssayContentServiceImpl.java @@ -1,11 +1,15 @@ package org.springblade.desk.order.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.springblade.common.constant.CommonConstant; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.desk.order.mapper.AssayContentMapper; import org.springblade.desk.order.pojo.entity.AssayContent; import org.springblade.desk.order.pojo.entity.AssayContentDetail; -import org.springblade.desk.order.mapper.AssayContentMapper; +import org.springblade.desk.order.pojo.enums.AssayContentEnum; import org.springblade.desk.order.service.IAssayContentDetailService; import org.springblade.desk.order.service.IAssayContentService; import org.springframework.stereotype.Service; @@ -31,6 +35,7 @@ public class AssayContentServiceImpl extends BaseServiceImpl detailList) { + entity.setStatus(AssayContentEnum.STATUS_UNUSED.getCode()); if (this.save(entity)) { for (AssayContentDetail detail : detailList) { detail.setAcId(entity.getId()); @@ -44,11 +49,31 @@ public class AssayContentServiceImpl extends BaseServiceImpl detailList) { if (this.updateById(entity)) { - detailService.saveBatch(detailList); + detailService.updateBatchById(detailList); return true; } return false; } + @Override + public List detailListNoUsed(Long workCenterId) { + // 1. 查询作业中心下,最新的未被使用的化验明细 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(AssayContent.class) + .eq(AssayContent::getIsDeleted, CommonConstant.DELETE_FALSE) + .eq(AssayContent::getWcId, workCenterId) + .orderByDesc(AssayContent::getCreateTime); + List contentList = baseMapper.selectList(wrapper); + + // 若未查询到化验记录,直接返回空 + if (contentList.size() == 0) { + return null; + } + + // 查询该化验记录的明细数据,并返回 + AssayContent assayContent = contentList.get(0); + List detailList = detailService.getByContentId(assayContent.getId()); + + return detailList; + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldPlanServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldPlanServiceImpl.java index 37a91f43..59a2e26b 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldPlanServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldPlanServiceImpl.java @@ -3,10 +3,13 @@ package org.springblade.desk.order.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.RequiredArgsConstructor; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; +import org.springblade.desk.dashboard.service.IDsPartService; import org.springblade.desk.order.pojo.entity.MoldPlan; import org.springblade.desk.order.pojo.entity.MoldPlanOrder; import org.springblade.desk.order.pojo.entity.MoldPlanTool; import org.springblade.desk.order.mapper.MoldPlanMapper; +import org.springblade.desk.order.pojo.enums.MoldPlanEnum; import org.springblade.desk.order.service.IMoldPlanOrderService; import org.springblade.desk.order.service.IMoldPlanService; import org.springblade.desk.order.service.IMoldPlanToolService; @@ -28,12 +31,44 @@ public class MoldPlanServiceImpl extends BaseServiceImpl selectPage(IPage page, MoldPlan entity) { List dataList = baseMapper.selectPage(page, entity); return page.setRecords(dataList); } + @Override + public IPage selectPageApply(IPage page, MoldPlan entity) { + entity.setSource(MoldPlanEnum.SOURCE_USER.getCode()); + List dataList = baseMapper.selectPage(page, entity); + return page.setRecords(dataList); + } + + @Override + public IPage pageNearlyMonth(IPage page, MoldPlan entity) { + return null; + } + + @Override + public boolean save(List planList) { + for (MoldPlan moldPlan : planList) { + moldPlan.setStatus(MoldPlanEnum.MAF_STATUS_CREATE.getCode()); + moldPlan.setSource(MoldPlanEnum.SOURCE_USER.getCode()); + // 工装 + DsPartEntity dsPart = dsPartService.selectDsPartByPatCode(moldPlan.getPartCode()); + if (dsPart != null && "压饼模".equals(dsPart.getPartName())) { + moldPlan.setPlanTypeCode(MoldPlanEnum.PLAN_TYPE_CODE_Z.getName()); + moldPlan.setPlanTypeName(MoldPlanEnum.PLAN_TYPE_CODE_D.getName()); + } else if (dsPart != null && "石墨模".equals(dsPart.getPartName())) { + moldPlan.setPlanTypeCode(MoldPlanEnum.PLAN_TYPE_CODE_Z.getName()); + moldPlan.setPlanTypeName(MoldPlanEnum.PLAN_TYPE_NAME_D.getName()); + } + } + return this.saveBatch(planList); + } + @Transactional(rollbackFor = Exception.class) @Override public boolean save(MoldPlan entity, List orderList, List toolList) { diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordDetailServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordDetailServiceImpl.java index 8b614057..3a469073 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordDetailServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordDetailServiceImpl.java @@ -1,6 +1,9 @@ package org.springblade.desk.order.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.springblade.common.constant.CommonConstant; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.desk.order.pojo.entity.PlateGoodsRecordDetail; import org.springblade.desk.order.mapper.PlateGoodsRecordDetailMapper; @@ -22,4 +25,27 @@ public class PlateGoodsRecordDetailServiceImpl extends BaseServiceImpl dataList = baseMapper.selectPage(page, entity); return page.setRecords(dataList); } + + @Override + public boolean deleteLogicByRecordId(Long recordId) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(PlateGoodsRecordDetail.class) + .eq(PlateGoodsRecordDetail::getIsDeleted, CommonConstant.DELETE_FALSE) + .eq(PlateGoodsRecordDetail::getPgrdId, recordId); + List dataList = baseMapper.selectList(wrapper); + + dataList.forEach(data -> { + data.setIsDeleted(CommonConstant.DELETE_TRUE); + }); + + return this.saveBatch(dataList); + } + + @Override + public List listByRecordId(Long recordId) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(PlateGoodsRecordDetail.class) + .eq(PlateGoodsRecordDetail::getIsDeleted, CommonConstant.DELETE_FALSE) + .eq(PlateGoodsRecordDetail::getPgrdId, recordId); + List dataList = baseMapper.selectList(wrapper); + return dataList; + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java index 38ff4a37..c44d1288 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java @@ -6,15 +6,21 @@ import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.desk.dashboard.utils.DateUtils; +import org.springblade.desk.order.mapper.PlateGoodsRecordMapper; import org.springblade.desk.order.pojo.entity.PlateGoodsRecord; import org.springblade.desk.order.pojo.entity.PlateGoodsRecordDetail; -import org.springblade.desk.order.mapper.PlateGoodsRecordMapper; +import org.springblade.desk.order.pojo.entity.YieldOrder; +import org.springblade.desk.order.pojo.enums.PlateGoodsEnum; import org.springblade.desk.order.service.IPlateGoodsRecordDetailService; import org.springblade.desk.order.service.IPlateGoodsRecordService; +import org.springblade.desk.order.service.IYieldOrderService; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * 服务实现类 @@ -26,6 +32,7 @@ import java.util.List; public class PlateGoodsRecordServiceImpl extends BaseServiceImpl implements IPlateGoodsRecordService { private final IPlateGoodsRecordDetailService detailService; + private final IYieldOrderService yieldOrderService; @Override public IPage selectPage(IPage page, PlateGoodsRecord entity) { @@ -35,26 +42,28 @@ public class PlateGoodsRecordServiceImpl extends BaseServiceImpl detailList) { + // todo 需求单号需要优化 + entity.setDemandCode(DateUtils.dateTimeNow()); + entity.setStatus(PlateGoodsEnum.STATUS_WAITING.getCode()); if (this.save(entity)) { for (PlateGoodsRecordDetail detail : detailList) { detail.setPgrdId(entity.getId()); } - detailService.saveBatch(detailList); - return true; + return detailService.saveBatch(detailList); } - return false; + return Boolean.FALSE; } @Override public boolean update(PlateGoodsRecord entity, List detailList) { if (this.save(entity)) { - //TODO 先根据需求ID将原明细删除 + // 先根据需求ID将原明细删除 + detailService.deleteLogicByRecordId(entity.getId()); // 保存新的明细 - detailService.saveBatch(detailList); - return true; + return detailService.saveBatch(detailList); } - return false; + return Boolean.FALSE; } @Override @@ -74,4 +83,20 @@ public class PlateGoodsRecordServiceImpl extends BaseServiceImpl listDetailYieldOrder(Long id) { + // 先查询关联的明细列表 + List detailList = detailService.listByRecordId(id); + + if (Func.isEmpty(detailList)) { + return null; + } + + List yieldOrderIds = detailList.stream().map(PlateGoodsRecordDetail::getYoId).collect(Collectors.toList()); + // 再根据明细中的生产订单id查询订单 + List yieldOrderList = yieldOrderService.listByIds(yieldOrderIds); + return yieldOrderList; + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java index d9ed1bf2..94754cda 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java @@ -90,6 +90,16 @@ public class YieldOrderServiceImpl extends BaseServiceImpl pageMaterialApply(IPage page, Long wcId, Integer materialType, Integer overHalfMon) { + YieldOrder entity = new YieldOrder(); + entity.setWorkCenterId(wcId); + //TODO 1. 金钾银钾如何区分 + // 2. 允许使用半月以上的数据是以生产订单的什么时间算 + List dataList = baseMapper.selectPage(page, entity, null); + return page.setRecords(dataList); + } + @Override public boolean confirmBatch(List ids) { List yieldOrderList = new ArrayList<>(); @@ -504,6 +514,11 @@ public class YieldOrderServiceImpl extends BaseServiceImpl { public MoldPlanVo entityVO(MoldPlan entity) { MoldPlanVo vo = Objects.requireNonNull(BeanUtil.copyProperties(entity, MoldPlanVo.class)); vo.setStatusName(MoldPlanEnum.getName(entity.getStatus())); + vo.setMafStatusName(MoldPlanEnum.getName(entity.getMafStatus())); + vo.setMafTypeName(MoldPlanEnum.getName(entity.getMafType())); return vo; } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/PlateGoodsRecordWrapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/PlateGoodsRecordWrapper.java index 7258c1e6..21dd575c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/PlateGoodsRecordWrapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/wrapper/PlateGoodsRecordWrapper.java @@ -2,8 +2,14 @@ package org.springblade.desk.order.wrapper; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.desk.basic.cache.WorkCenterCache; +import org.springblade.desk.basic.pojo.entity.WorkCenter; import org.springblade.desk.order.pojo.entity.PlateGoodsRecord; +import org.springblade.desk.order.pojo.enums.PlateGoodsEnum; import org.springblade.desk.order.pojo.vo.PlateGoodsRecordVo; +import org.springblade.system.cache.UserCache; +import org.springblade.system.pojo.entity.User; import java.util.Objects; @@ -21,7 +27,18 @@ public class PlateGoodsRecordWrapper extends BaseEntityWrapper + + + logback + + + + + + + + + + + + + WARN + ACCEPT + DENY + + + + %-4relative [%thread] %-5level %logger{30} - %msg%n + + + + + + ${log.path} + + ${log.path}.%d{yyyy-MM-dd}.zip + + + %date %level [%thread] %logger{36} [%file : %line] %msg%n + + + + + + + + + + + + + + + + + + + diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/SameTroughMapper.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/SameTroughMapper.java index 08b38e3e..4f9d44ee 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/SameTroughMapper.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/SameTroughMapper.java @@ -34,6 +34,7 @@ import org.springblade.scheduling.scheduling.excel.SameTroughExcel; import org.springblade.scheduling.scheduling.vo.SameTroughVO; import java.util.List; +import java.util.Map; /** * 非同槽因素表 Mapper 接口 @@ -61,4 +62,6 @@ public interface SameTroughMapper extends BaseMapper { */ List export(@Param("ew") Wrapper queryWrapper); + SameTroughVO selectSameTroughInfo(Long id); + } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/SameTroughMapper.xml b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/SameTroughMapper.xml index 90f0a446..ca2583e8 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/SameTroughMapper.xml +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/mapper/SameTroughMapper.xml @@ -41,4 +41,27 @@ SELECT * FROM MES_SAME_TROUGH ${ew.customSqlSegment} + + diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/ISameTroughService.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/ISameTroughService.java index aed3019e..e7a21945 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/ISameTroughService.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/ISameTroughService.java @@ -27,12 +27,14 @@ package org.springblade.scheduling.scheduling.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Param; import org.springblade.core.mp.base.BaseService; import org.springblade.scheduling.pojo.entity.SameTroughEntity; import org.springblade.scheduling.scheduling.excel.SameTroughExcel; import org.springblade.scheduling.scheduling.vo.SameTroughVO; import java.util.List; +import java.util.Map; /** * 非同槽因素表 服务类 @@ -59,4 +61,6 @@ public interface ISameTroughService extends BaseService { */ List export(Wrapper queryWrapper); + SameTroughVO selectSameTroughInfo(Long id); + } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/SameTroughServiceImpl.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/SameTroughServiceImpl.java index 9e1692fe..d7203a0f 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/SameTroughServiceImpl.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/service/impl/SameTroughServiceImpl.java @@ -35,6 +35,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; import java.util.List; +import java.util.Map; /** * 非同槽因素表 服务实现类 @@ -58,4 +59,9 @@ public class SameTroughServiceImpl extends BaseServiceImpl schedulingBoard(WorkOrderDto workOrder) { List list = baseMapper.selectWorkOrderList(workOrder); + list.forEach(item -> { + item.setPriorityAps(YieldOrderEnum.getName(Integer.parseInt(item.getPriorityAps()))); + }); Map> woCodeGroup = list.stream().collect(Collectors.groupingBy(WorkOrderDto::getWoCode)); List resultList = new ArrayList<>(); for (Map.Entry> entry : woCodeGroup.entrySet()) { @@ -482,7 +486,12 @@ public class WorkOrderServiceImpl extends BaseServiceImpl> entry : equipAbilityMap.entrySet()) { //根据时间点获取所有设备资源 - List equipResourceList = equipResourceService.list(Wrappers.lambdaQuery().eq(EquipResourceEntity::getCraftId, craft.getCaId()).eq(EquipResourceEntity::getWorkCenterId, craft.getWorkCenterId()).ge(EquipResourceEntity::getStartTime, dateTime).eq(EquipResourceEntity::getIsUsed, 0).in(EquipResourceEntity::getEquipOrder, entry.getKey())); + List equipResourceList = equipResourceService.list(Wrappers.lambdaQuery() + .eq(EquipResourceEntity::getCraftId, craft.getCaId()) + .eq(EquipResourceEntity::getWorkCenterId, craft.getWorkCenterId()) + .ge(EquipResourceEntity::getStartTime, dateTime) + .eq(EquipResourceEntity::getIsUsed, 0) + .in(EquipResourceEntity::getEquipOrder, entry.getKey())); if (CollectionUtils.isEmpty(equipResourceList)) { order.setStatus(YieldOrderEnum.STATUS_PROCESS_ERROR.getCode()); order.setErrorInfo("工序:" + processMap.get(craft.getPpsId()) + ",未匹配到对应的设备资源"); @@ -1167,19 +1176,17 @@ public class WorkOrderServiceImpl extends BaseServiceImpl list,Long workCenterId){ - List sameTroughEntities = sameTroughService.list(); - //相同零件号判断键位、生产厂家、检验编号、生产标识 - //按照零件号分组 - Map> map = list.stream().collect(Collectors.groupingBy(YieldOrderEntity::getPartCode)); - for(Map.Entry> entry : map.entrySet()){ - List list1 = entry.getValue(); - if(list1.size() > 1){ - List craftList = yieldOrderCraftService.list(Wrappers.lambdaQuery().in(YieldOrderCraftEntity::getYoId,list1.stream().map(BaseEntity::getId).collect(Collectors.toList()))); - + /*public void sameTrough(YieldOrderCraftEntity yieldOrderCraft,LocalDateTime dateTime){ + SameTroughEntity sameTrough =sameTroughService.getOne(Wrappers.lambdaQuery().eq(SameTroughEntity::getWorkCenterId,yieldOrderCraft.getWorkCenterId()).eq(SameTroughEntity::getCraftId,yieldOrderCraft.getCaId()).eq(SameTroughEntity::getProcessId,yieldOrderCraft.getPpsId())); + if(sameTrough != null){ + //查询是否有已经排产的计划 + List workPlanList = workPlanService.list(Wrappers.lambdaQuery().eq(WorkPlanEntity::getWorkCenterId,yieldOrderCraft.getWorkCenterId()).eq(WorkPlanEntity::getCaId,yieldOrderCraft.getCaId()).eq(WorkPlanEntity::getPpsId,yieldOrderCraft.getPpsId())); + if(CollectionUtils.isNotEmpty(workPlanList)){ + Map<> } + SameTroughVO vo = sameTroughService.selectSameTroughInfo(yieldOrderCraft.getId()); + } - //不同零件号判断工艺 - } + }*/ } diff --git a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/vo/SameTroughVO.java b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/vo/SameTroughVO.java index fdaad7b5..234c4e72 100644 --- a/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/vo/SameTroughVO.java +++ b/blade-service/blade-scheduling/src/main/java/org/springblade/scheduling/scheduling/vo/SameTroughVO.java @@ -42,4 +42,9 @@ public class SameTroughVO extends SameTroughEntity { @Serial private static final long serialVersionUID = 1L; + private String partCode; + + private String plate; + + } diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserServiceImpl.java index beddb1c8..c4458832 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserServiceImpl.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/UserServiceImpl.java @@ -275,7 +275,7 @@ public class UserServiceImpl extends BaseServiceImpl implement } UserInfo userInfo = new UserInfo(); userInfo.setUser(user); - if (Func.isNotEmpty(user)) { + if (Func.isNotEmpty(user) && StringUtil.isNotBlank(user.getRoleId())) { List roleAlias = roleService.getRoleAliases(user.getRoleId()); if (!roleAlias.isEmpty()) { userInfo.setRoles(roleAlias); diff --git a/doc/sql/mes/increase-260108.sql b/doc/sql/mes/increase-260108.sql new file mode 100644 index 00000000..34df2173 --- /dev/null +++ b/doc/sql/mes/increase-260108.sql @@ -0,0 +1,388 @@ +--岗位处理 +DROP TABLE MES_POST_HANDLE; +CREATE TABLE MES_POST_HANDLE +( + ID NUMBER(20,0) NOT NULL ENABLE, + TENANT_ID NVARCHAR2(12), + CREATE_USER NUMBER(20,0), + CREATE_TIME DATE, + CREATE_DEPT NUMBER(20,0), + UPDATE_USER NUMBER(20,0), + UPDATE_TIME DATE, + STATUS NUMBER(11,0) DEFAULT 1, + IS_DELETED NUMBER(11,0) DEFAULT 0, + USER_ID NUMBER(20,0) NOT NULL ENABLE, + NAME NVARCHAR2(32), + NATION NVARCHAR2(32), + AGE NUMBER(3,0), + ID_CARD NVARCHAR2(64), + NATIVE_PLACE NVARCHAR2(255), + DEPT_ID NUMBER(20,0), + STATION NVARCHAR2(255), + DATA_BIRTH DATE, + FACE NVARCHAR2(32), + MARRIAGE CHAR(1), + SCHOOL NVARCHAR2(255), + MAJOR NVARCHAR2(255), + EDUCATION NVARCHAR2(255), + END_DATE DATE, + STAFF_TYPE NUMBER(3,0), + JOIN_JOB_DATE DATE, + SKILL NUMBER(3,0), + IN_JOB_DATE DATE, + CON_EXP_DATE DATE, + ADDRESS NVARCHAR2(255), + TO_NEW_JOB DATE, + PH_STATUS NUMBER(3,0), + CHECK (ID IS NOT NULL) ENABLE, + PRIMARY KEY (ID) +) TABLESPACE JONHON_MES_DATA; +COMMENT +ON COLUMN MES_POST_HANDLE.CREATE_USER IS '创建人'; +COMMENT +ON COLUMN MES_POST_HANDLE.CREATE_TIME IS '创建时间'; +COMMENT +ON COLUMN MES_POST_HANDLE.CREATE_DEPT IS '创建部门'; +COMMENT +ON COLUMN MES_POST_HANDLE.UPDATE_USER IS '更新人'; +COMMENT +ON COLUMN MES_POST_HANDLE.UPDATE_TIME IS '更新时间'; +COMMENT +ON COLUMN MES_POST_HANDLE.STATUS IS '状态;1、空闲;2、使用中'; +COMMENT +ON COLUMN MES_POST_HANDLE.IS_DELETED IS '删除标记;1:删除,0:正常'; +COMMENT +ON COLUMN MES_POST_HANDLE.USER_ID IS '用户ID'; +COMMENT +ON COLUMN MES_POST_HANDLE.NAME IS '名称'; +COMMENT +ON COLUMN MES_POST_HANDLE.NATION IS '民族'; +COMMENT +ON COLUMN MES_POST_HANDLE.AGE IS '年龄'; +COMMENT +ON COLUMN MES_POST_HANDLE.ID_CARD IS '身份证号码'; +COMMENT +ON COLUMN MES_POST_HANDLE.NATIVE_PLACE IS '籍贯'; +COMMENT +ON COLUMN MES_POST_HANDLE.DEPT_ID IS '班组ID'; +COMMENT +ON COLUMN MES_POST_HANDLE.STATION IS '所属岗位'; +COMMENT +ON COLUMN MES_POST_HANDLE.DATA_BIRTH IS '出生日期'; +COMMENT +ON COLUMN MES_POST_HANDLE.FACE IS '政治面貌'; +COMMENT +ON COLUMN MES_POST_HANDLE.MARRIAGE IS '婚姻状态(0未婚,1已婚)'; +COMMENT +ON COLUMN MES_POST_HANDLE.SCHOOL IS '毕业院校'; +COMMENT +ON COLUMN MES_POST_HANDLE.MAJOR IS '所学专业'; +COMMENT +ON COLUMN MES_POST_HANDLE.EDUCATION IS '最高学历'; +COMMENT +ON COLUMN MES_POST_HANDLE.END_DATE IS '毕业时间'; +COMMENT +ON COLUMN MES_POST_HANDLE.STAFF_TYPE IS '用工类型'; +COMMENT +ON COLUMN MES_POST_HANDLE.JOIN_JOB_DATE IS '参加工作时间'; +COMMENT +ON COLUMN MES_POST_HANDLE.SKILL IS '技能等级'; +COMMENT +ON COLUMN MES_POST_HANDLE.IN_JOB_DATE IS '任现职时间'; +COMMENT +ON COLUMN MES_POST_HANDLE.CON_EXP_DATE IS '合同到期'; +COMMENT +ON COLUMN MES_POST_HANDLE.ADDRESS IS '家庭住址'; +COMMENT +ON COLUMN MES_POST_HANDLE.TO_NEW_JOB IS '转岗时间'; +COMMENT +ON COLUMN MES_POST_HANDLE.PH_STATUS IS '1实习-培训中,2转岗中,3正常,4下岗中,5离职,6培训合格,7培训不合格'; +COMMENT +ON TABLE MES_POST_HANDLE IS '岗位处理'; + +--培训安排 +DROP TABLE MES_CULTIVATE_DETAIL; +CREATE TABLE MES_CULTIVATE_DETAIL +( + ID NUMBER(20,0) NOT NULL ENABLE, + TENANT_ID NVARCHAR2(12), + CREATE_USER NUMBER(20,0), + CREATE_TIME DATE, + CREATE_DEPT NUMBER(20,0), + UPDATE_USER NUMBER(20,0), + UPDATE_TIME DATE, + STATUS NUMBER(11,0) DEFAULT 1, + IS_DELETED NUMBER(11,0) DEFAULT 0, + PH_ID NUMBER(20,0), + TYPE NUMBER(3,0), + PLAN_ID NUMBER(20,0), + TEACHER_ID NUMBER(20,0), + TEACHER_NAME NVARCHAR2(32), + CA_STATUS NUMBER(3,0), + DISTRIBUTE_TIME DATE, + ATTACH_LINK NVARCHAR2(255), + CHECK (ID IS NOT NULL) ENABLE, + PRIMARY KEY (ID) +) TABLESPACE JONHON_MES_DATA; +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.CREATE_USER IS '创建人'; +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.CREATE_TIME IS '创建时间'; +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.CREATE_DEPT IS '创建部门'; +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.UPDATE_USER IS '更新人'; +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.UPDATE_TIME IS '更新时间'; +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.STATUS IS '状态;1、空闲;2、使用中'; +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.IS_DELETED IS '删除标记;1:删除,0:正常'; +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.PH_ID IS '岗位处理ID'; +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.TYPE IS '培训类型(1实习,2转岗,3下岗)'; +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.PLAN_ID IS '培训模板ID'; +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.TEACHER_ID IS '培训师ID'; +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.TEACHER_NAME IS '培训师'; +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.CA_STATUS IS '培训状态(1未配置,2等待下发,3已下发-培训中,4已到期,5已培训-待确认,6培训完成)'; +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.DISTRIBUTE_TIME IS '下发时间'; +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.ATTACH_LINK IS '附件链接'; +COMMENT +ON TABLE MES_CULTIVATE_DETAIL IS '培训安排'; + +--证书类型 +DROP TABLE MES_CERTIFICATE_TYPE; +CREATE TABLE MES_CERTIFICATE_TYPE +( + ID NUMBER(20,0) NOT NULL ENABLE, + TENANT_ID NVARCHAR2(12), + CREATE_USER NUMBER(20,0), + CREATE_TIME DATE, + CREATE_DEPT NUMBER(20,0), + UPDATE_USER NUMBER(20,0), + UPDATE_TIME DATE, + STATUS NUMBER(11,0) DEFAULT 1, + IS_DELETED NUMBER(11,0) DEFAULT 0, + NAME NVARCHAR2(255), + VALIDITY_PERIOD NUMBER(3,0), + AIRWORTHINESS_VALIDITY_PERIOD NUMBER(3,0), + ASTRONAUT_VALIDITY_PERIOD NUMBER(3,0), + CHECK (ID IS NOT NULL) ENABLE, + PRIMARY KEY (ID) +) TABLESPACE JONHON_MES_DATA; +COMMENT +ON COLUMN MES_CERTIFICATE_TYPE.CREATE_USER IS '创建人'; +COMMENT +ON COLUMN MES_CERTIFICATE_TYPE.CREATE_TIME IS '创建时间'; +COMMENT +ON COLUMN MES_CERTIFICATE_TYPE.CREATE_DEPT IS '创建部门'; +COMMENT +ON COLUMN MES_CERTIFICATE_TYPE.UPDATE_USER IS '更新人'; +COMMENT +ON COLUMN MES_CERTIFICATE_TYPE.UPDATE_TIME IS '更新时间'; +COMMENT +ON COLUMN MES_CERTIFICATE_TYPE.STATUS IS '状态;1、空闲;2、使用中'; +COMMENT +ON COLUMN MES_CERTIFICATE_TYPE.IS_DELETED IS '删除标记;1:删除,0:正常'; +COMMENT +ON COLUMN MES_CERTIFICATE_TYPE.NAME IS '证书名称'; +COMMENT +ON COLUMN MES_CERTIFICATE_TYPE.VALIDITY_PERIOD IS '证书有效期'; +COMMENT +ON COLUMN MES_CERTIFICATE_TYPE.AIRWORTHINESS_VALIDITY_PERIOD IS '适航有效期'; +COMMENT +ON COLUMN MES_CERTIFICATE_TYPE.ASTRONAUT_VALIDITY_PERIOD IS '宇航有效期'; +COMMENT +ON TABLE MES_CERTIFICATE_TYPE IS '证书类型'; + +--培训计划模板 +DROP TABLE MES_TRAINING_PLAN; +CREATE TABLE MES_TRAINING_PLAN +( + ID NUMBER(20,0) NOT NULL ENABLE, + TENANT_ID NVARCHAR2(12), + CREATE_USER NUMBER(20,0), + CREATE_TIME DATE, + CREATE_DEPT NUMBER(20,0), + UPDATE_USER NUMBER(20,0), + UPDATE_TIME DATE, + STATUS NUMBER(11,0) DEFAULT 1, + IS_DELETED NUMBER(11,0) DEFAULT 0, + NAME NVARCHAR2(255), + CYCLE NUMBER(5,0), + TEACHER_ID NUMBER(20,0), + TEACHER_NAME NVARCHAR2(32), + EARLY_WARNING_DAY NUMBER(5,0), + MEMO NVARCHAR2(255), + ATTACH_LINK NVARCHAR2(255), + CHECK (ID IS NOT NULL) ENABLE, + PRIMARY KEY (ID) +) TABLESPACE JONHON_MES_DATA; +COMMENT +ON COLUMN MES_TRAINING_PLAN.CREATE_USER IS '创建人'; +COMMENT +ON COLUMN MES_TRAINING_PLAN.CREATE_TIME IS '创建时间'; +COMMENT +ON COLUMN MES_TRAINING_PLAN.CREATE_DEPT IS '创建部门'; +COMMENT +ON COLUMN MES_TRAINING_PLAN.UPDATE_USER IS '更新人'; +COMMENT +ON COLUMN MES_TRAINING_PLAN.UPDATE_TIME IS '更新时间'; +COMMENT +ON COLUMN MES_TRAINING_PLAN.STATUS IS '状态;1、空闲;2、使用中'; +COMMENT +ON COLUMN MES_TRAINING_PLAN.IS_DELETED IS '删除标记;1:删除,0:正常'; +COMMENT +ON COLUMN MES_TRAINING_PLAN.NAME IS '培训计划名称'; +COMMENT +ON COLUMN MES_TRAINING_PLAN.CYCLE IS '培训周期(天)'; +COMMENT +ON COLUMN MES_TRAINING_PLAN.TEACHER_ID IS '培训师ID'; +COMMENT +ON COLUMN MES_TRAINING_PLAN.TEACHER_NAME IS '培训师名称'; +COMMENT +ON COLUMN MES_TRAINING_PLAN.EARLY_WARNING_DAY IS '预警周期(天)'; +COMMENT +ON COLUMN MES_TRAINING_PLAN.MEMO IS '备注'; +COMMENT +ON COLUMN MES_TRAINING_PLAN.ATTACH_LINK IS '附件链接'; +COMMENT +ON TABLE MES_TRAINING_PLAN IS '培训计划模板'; + +--岗位证书维护 +DROP TABLE MES_CERTIFICATE_MAINTENANCE; +CREATE TABLE MES_CERTIFICATE_MAINTENANCE +( + ID NUMBER(20,0) NOT NULL ENABLE, + TENANT_ID NVARCHAR2(12), + CREATE_USER NUMBER(20,0), + CREATE_TIME DATE, + CREATE_DEPT NUMBER(20,0), + UPDATE_USER NUMBER(20,0), + UPDATE_TIME DATE, + STATUS NUMBER(11,0) DEFAULT 1, + IS_DELETED NUMBER(11,0) DEFAULT 0, + PH_ID NUMBER(20,0), + CERTIFICATE_ID NUMBER(20,0), + CERTIFICATE_CODE NVARCHAR2(20), + CERTIFICATE_DATE DATE, + AIRWORTHINESS_DATE DATE, + ASTRONAUT_DATE DATE, + MAINTENANCE_STATUS NUMBER(3,0), + CHECK (ID IS NOT NULL) ENABLE, + PRIMARY KEY (ID) +) TABLESPACE JONHON_MES_DATA; +COMMENT +ON COLUMN MES_CERTIFICATE_MAINTENANCE.CREATE_USER IS '创建人'; +COMMENT +ON COLUMN MES_CERTIFICATE_MAINTENANCE.CREATE_TIME IS '创建时间'; +COMMENT +ON COLUMN MES_CERTIFICATE_MAINTENANCE.CREATE_DEPT IS '创建部门'; +COMMENT +ON COLUMN MES_CERTIFICATE_MAINTENANCE.UPDATE_USER IS '更新人'; +COMMENT +ON COLUMN MES_CERTIFICATE_MAINTENANCE.UPDATE_TIME IS '更新时间'; +COMMENT +ON COLUMN MES_CERTIFICATE_MAINTENANCE.STATUS IS '状态;1、空闲;2、使用中'; +COMMENT +ON COLUMN MES_CERTIFICATE_MAINTENANCE.IS_DELETED IS '删除标记;1:删除,0:正常'; +COMMENT +ON COLUMN MES_CERTIFICATE_MAINTENANCE.PH_ID IS '岗位处理ID'; +COMMENT +ON COLUMN MES_CERTIFICATE_MAINTENANCE.CERTIFICATE_ID IS '证书类型ID'; +COMMENT +ON COLUMN MES_CERTIFICATE_MAINTENANCE.CERTIFICATE_CODE IS '证书编号'; +COMMENT +ON COLUMN MES_CERTIFICATE_MAINTENANCE.CERTIFICATE_DATE IS '证书日期'; +COMMENT +ON COLUMN MES_CERTIFICATE_MAINTENANCE.AIRWORTHINESS_DATE IS '适航日期'; +COMMENT +ON COLUMN MES_CERTIFICATE_MAINTENANCE.ASTRONAUT_DATE IS '宇航日期'; +COMMENT +ON COLUMN MES_CERTIFICATE_MAINTENANCE.MAINTENANCE_STATUS IS '维护状态(1正常,2到期,3离职)'; +COMMENT +ON TABLE MES_CERTIFICATE_MAINTENANCE IS '证书维护'; + +--岗位设备维护 +DROP TABLE MES_EQUIPMENT_MAINTENANCE; +CREATE TABLE MES_EQUIPMENT_MAINTENANCE +( + ID NUMBER(20,0) NOT NULL ENABLE, + TENANT_ID NVARCHAR2(12), + CREATE_USER NUMBER(20,0), + CREATE_TIME DATE, + CREATE_DEPT NUMBER(20,0), + UPDATE_USER NUMBER(20,0), + UPDATE_TIME DATE, + STATUS NUMBER(11,0) DEFAULT 1, + IS_DELETED NUMBER(11,0) DEFAULT 0, + PH_ID NUMBER(20,0), + EQUIPMENT_ID NUMBER(20,0), + EQUIPMENT_VALIDITY_PERIOD NUMBER(5,0), + EQUIPMENT_DATE DATE, + MAINTENANCE_STATUS NUMBER(3,0), + CHECK (ID IS NOT NULL) ENABLE, + PRIMARY KEY (ID) +) TABLESPACE JONHON_MES_DATA; +COMMENT +ON COLUMN MES_EQUIPMENT_MAINTENANCE.CREATE_USER IS '创建人'; +COMMENT +ON COLUMN MES_EQUIPMENT_MAINTENANCE.CREATE_TIME IS '创建时间'; +COMMENT +ON COLUMN MES_EQUIPMENT_MAINTENANCE.CREATE_DEPT IS '创建部门'; +COMMENT +ON COLUMN MES_EQUIPMENT_MAINTENANCE.UPDATE_USER IS '更新人'; +COMMENT +ON COLUMN MES_EQUIPMENT_MAINTENANCE.UPDATE_TIME IS '更新时间'; +COMMENT +ON COLUMN MES_EQUIPMENT_MAINTENANCE.STATUS IS '状态;1、空闲;2、使用中'; +COMMENT +ON COLUMN MES_EQUIPMENT_MAINTENANCE.IS_DELETED IS '删除标记;1:删除,0:正常'; +COMMENT +ON COLUMN MES_EQUIPMENT_MAINTENANCE.PH_ID IS '岗位处理ID'; +COMMENT +ON COLUMN MES_EQUIPMENT_MAINTENANCE.EQUIPMENT_ID IS '设备ID'; +COMMENT +ON COLUMN MES_EQUIPMENT_MAINTENANCE.EQUIPMENT_VALIDITY_PERIOD IS '设备有效期'; +COMMENT +ON COLUMN MES_EQUIPMENT_MAINTENANCE.EQUIPMENT_DATE IS '设备日期'; +COMMENT +ON COLUMN MES_EQUIPMENT_MAINTENANCE.MAINTENANCE_STATUS IS '维护状态(1正常,2到期,3离职)'; +COMMENT +ON TABLE MES_EQUIPMENT_MAINTENANCE IS '岗位设备维护'; + +--加字段 +ALTER TABLE MES_CULTIVATE_DETAIL + ADD (FINISH_TIME DATE); +COMMENT +ON COLUMN MES_CULTIVATE_DETAIL.FINISH_TIME IS '完成时间' + +--设备增加列 +ALTER TABLE MES_EQUIPMENT + ADD (EQUIPMENT_LOCATION NVARCHAR2(255)) +ADD (WORKSTATION_ID NUMBER(11)); +COMMENT +ON COLUMN MES_EQUIPMENT.EQUIPMENT_LOCATION IS '设备位置'; +COMMENT +ON COLUMN MES_EQUIPMENT.WORKSTATION_ID IS '作业中心ID'; + +-- 修改字段及注释 +ALTER TABLE mes_mold_plan DROP COLUMN plan_type; +ALTER TABLE mes_mold_plan ADD plan_type_code NUMBER(38, 0) NULL; +COMMENT ON COLUMN mes_mold_plan.plan_type_code IS '计划类型; 13001:Z:制造(工装不为空且工装名称为压饼模),13002:D:夹具(工装不为空且工装名称为石墨模)'; + +-- 修改字段及注释 +ALTER TABLE mes_mold_plan DROP COLUMN plan_type_name; +ALTER TABLE mes_mold_plan ADD plan_type_name NVARCHAR2(255) NULL; +COMMENT ON COLUMN mes_mold_plan.plan_type_name IS '计划类型名称;14001:Z:制造(工装不为空且工装名称为压饼模),14002:D:夹具(工装不为空且工装名称为石墨模)'; + +-- 添加字段及注释 +ALTER TABLE MES_MOLD_PLAN ADD "SOURCE" NUMBER(38,0) NULL; +COMMENT ON COLUMN MES_MOLD_PLAN."SOURCE" IS '计划来源;15001:自动生成,15002:人工添加';