diff --git a/src/main/java/com/xdap/self_development/service/impl/ActivitiProcessServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/ActivitiProcessServiceImpl.java index 0ed9baa..367b361 100644 --- a/src/main/java/com/xdap/self_development/service/impl/ActivitiProcessServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/ActivitiProcessServiceImpl.java @@ -34,6 +34,12 @@ import java.util.concurrent.TimeUnit; import java.util.function.Function; import java.util.stream.Collectors; +/** + * 工作流审批服务实现类 + * + * @version 1.0 + * @since 2025 + */ @Service @Slf4j public class ActivitiProcessServiceImpl implements ActivitiProcessService { @@ -59,8 +65,9 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { /** * 发起审批流程 - 初始化审批数据 * 根据机型ID和用户ID查找待审批的参数数据,生成变更说明并返回给前端显示 + * * @param modelID 发动机型号ID - * @param userID 用户ID + * @param userID 用户ID * @return 包含审批数据的DTO列表 */ @Override @@ -365,6 +372,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { return Arrays.asList(currentAssignees.split(",")); } + @Override public void processApproval( EngineReviewListPojo flow, HandleApprovalDTO request, @@ -457,6 +465,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { } } + @Override public void cancelProcess( EngineReviewListPojo flow, ApprovalConfigPojo node, @@ -511,6 +520,8 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { // 更新发起和已办 myself.updateTasks(flow, status.getDesc(), 0, node); } + + @Override public void updateTasks( EngineReviewListPojo flow, String status, @@ -534,6 +545,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { .doUpdate(CompletedTaskPojo.class); } + @Override public void processNextNode( EngineReviewListPojo flow, ApprovalConfigPojo currentNode, @@ -618,6 +630,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { } } + @Override public void addNodeTodo( EngineReviewListPojo flow, ApprovalConfigPojo node, @@ -654,6 +667,14 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { myself.updateTasks(flow, node.getNodeName(), enableReturn, node); } + /** + * 更新流程标题 + * 更新审批流程的标题信息,同时更新相关的待办、已办和发起任务的标题 + * + * @param flowId 流程ID + * @param title 新的流程标题 + * @return void + */ @Override @Transactional public void updateFlowTitle(String flowId, String title) { @@ -689,6 +710,14 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { .doUpdate(InitiatedTaskPojo.class); } + /** + * 继续审批流程 + * 重新发起审批流程,清除原流程节点的所有待办任务并重新分配 + * + * @param flowId 流程ID + * @param userId 用户ID + * @return void + */ @Override public void continueApproval(String flowId, String userId) { EngineReviewListPojo reviewListPojo = bd.getBusinessDatabase() @@ -754,11 +783,25 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { ); } + /** + * 获取可编辑节点 + * 获取指定流程中可编辑的审批节点列表 + * + * @param flowId 流程ID + * @return 可编辑节点列表 + */ @Override public List getEditableNodes(String flowId) { return Collections.emptyList(); } + /** + * 更新节点配置 + * 更新审批流程中的节点配置信息 + * + * @param form 更新节点表单对象 + * @return void + */ @Override public void updateNode(UpdateNodeForm form) { // 检查流程 @@ -787,6 +830,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { * 从外部平台发起审批时,在本地系统创建相应的审批流程记录 * * @param request 审批请求对象,包含审批的基本信息 + * @return void */ @Override public void startActivitiByPlatform(ApprovalByPlatformRequest request) { @@ -810,6 +854,13 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { } + /** + * 判断是否为直送流程 + * 检查指定流程是否为直送流程 + * + * @param flowId 流程ID + * @return 是否为直送流程 + */ @Override public boolean getIsDirect(String flowId) { EngineReviewListPojo flow = bd.getBusinessDatabase() @@ -823,6 +874,13 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { return flow.getPreNode() != -1; } + /** + * 获取审批用户节点 + * 获取指定流程的审批节点及其相关用户信息 + * + * @param flowId 流程ID + * @return 审批用户节点DTO + */ @Override public ApprovalNodesDTO getApprovalUsers(String flowId) { ApprovalNodesDTO nodes = new ApprovalNodesDTO(); @@ -862,6 +920,14 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { return nodes; } + /** + * 直送审批到指定节点 + * 将审批流程直接发送到指定节点,跳过中间节点 + * + * @param flowId 流程ID + * @param userId 用户ID + * @return void + */ @Override public void directSendingApproval(String flowId, String userId) { // 获取当前流程审批的参数 @@ -950,6 +1016,13 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { bd.getBusinessDatabase().doInsert(record); } + /** + * 获取退回节点列表 + * 获取可以退回的审批节点列表 + * + * @param flowId 流程ID + * @return 退回节点列表 + */ @Override public List getReturnNodes(String flowId) { EngineReviewListPojo flow = bd.getBusinessDatabase() @@ -969,6 +1042,13 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { .collect(Collectors.toList()); } + /** + * 处理退回至指定节点 + * 将审批流程退回至指定节点 + * + * @param form 退回节点表单 + * @return void + */ @Override public void handleReturnToNode(HandleReturnNodeForm form) { // 查找流程 diff --git a/src/main/java/com/xdap/self_development/service/impl/AnalysisCommonParametersServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/AnalysisCommonParametersServiceImpl.java index 180fadc..40b7faf 100644 --- a/src/main/java/com/xdap/self_development/service/impl/AnalysisCommonParametersServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/AnalysisCommonParametersServiceImpl.java @@ -22,6 +22,12 @@ import java.util.stream.Collectors; import java.util.stream.Stream; +/** + * 分析常用参数服务实现类 + * + * @version 1.0 + * @since 2025 + */ @Slf4j @Service public class AnalysisCommonParametersServiceImpl implements AnalysisCommonParametersService { @@ -41,6 +47,13 @@ public class AnalysisCommonParametersServiceImpl implements AnalysisCommonParame private static final Pattern ALL_NUMBER_PATTERN = Pattern.compile("^[-+]?\\d+(\\.\\d+)?([Ee][-+]?\\d+)?$"); + /** + * 根据常用参数选择模型参数 + * 根据分析请求对象筛选符合条件的模型参数 + * + * @param analysisRequest 分析请求对象 + * @return 模型参数视图列表 + */ @Override public ArrayList selectModelParamByCommon(AnalysisRequest analysisRequest) { // if (ObjectUtils.isEmpty(analysisRequest.getModelIds()) || ObjectUtils.isEmpty(analysisRequest) || ObjectUtils.isEmpty(analysisRequest.getCommonId())) { @@ -78,6 +91,13 @@ public class AnalysisCommonParametersServiceImpl implements AnalysisCommonParame return null; } + /** + * 显示报表 + * 根据模型列表生成分析报表 + * + * @param models 模型ID列表 + * @return 分析模型参数视图和参数对象 + */ @Override public AnalysisModelParamterViewAndParam showReport(List models) { @@ -86,8 +106,13 @@ public class AnalysisCommonParametersServiceImpl implements AnalysisCommonParame } - //返回参数列表 - + /** + * 显示报表参数列表 + * 根据报表请求返回参数列表 + * + * @param request 报表请求对象 + * @return 分析模型参数视图和参数对象 + */ @Override public AnalysisModelParamterViewAndParam showReportParamList(ReportRequest request) { @@ -95,6 +120,13 @@ public class AnalysisCommonParametersServiceImpl implements AnalysisCommonParame return null; } + /** + * 模糊查询模型 + * 根据报表请求条件模糊匹配符合条件的模型 + * + * @param request 报表请求对象 + * @return 引擎模型POJO列表 + */ @Override public List selectModelByLike(ReportRequest request) { if (request.getEngineCapacityMax() != null && @@ -118,6 +150,12 @@ public class AnalysisCommonParametersServiceImpl implements AnalysisCommonParame .doQuery(DataEntryEngineModelPojo.class)); } + /** + * 获取可用参数 + * 返回系统中所有可用的参数名称列表 + * + * @return 可用参数名称列表 + */ @Override public List getAvailableParameters() { List modelParams = businessDatabase.getBusinessDatabase() @@ -187,9 +225,15 @@ public class AnalysisCommonParametersServiceImpl implements AnalysisCommonParame return andParam; } */ + /** + * 显示报表2 + * 根据模型列表生成分析报表(第二个实现) + * + * @param models 模型ID列表 + * @return 分析模型参数视图和参数对象 + */ public AnalysisModelParamterViewAndParam showReport2(List models) { // 查询所有符合条件的机型 -// List engineModelPojos = selectModelByLike(request); List engineModelPojos = businessDatabase.getBusinessDatabase() .in("id", models) .doQuery(DataEntryEngineModelPojo.class); @@ -253,6 +297,9 @@ public class AnalysisCommonParametersServiceImpl implements AnalysisCommonParame /** * 验证所有数值类型 + * + * @param str 待验证的字符串 + * @return 是否为数字 */ public static boolean isNumber(String str) { if (str == null || str.trim().isEmpty()) { @@ -261,7 +308,14 @@ public class AnalysisCommonParametersServiceImpl implements AnalysisCommonParame return ALL_NUMBER_PATTERN.matcher(str.trim()).matches(); } - // 分批处理机型 + /** + * 分批处理机型 + * 将模型列表按照指定批次大小分割 + * + * @param source 源模型列表 + * @param batchSize 批次大小 + * @return 分割后的批次列表 + */ private List> splitModelBatch( List source, int batchSize diff --git a/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java index 4972309..af49f6a 100644 --- a/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java @@ -36,6 +36,12 @@ import java.util.concurrent.TimeUnit; import java.util.function.Function; import java.util.stream.Collectors; +/** + * 对标报告服务实现类 + * + * @version 1.0 + * @since 2025 + */ @Service public class BenchmarkingReportServiceImpl implements BenchmarkingReportService { @Resource @@ -60,6 +66,13 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService private static final int FLOW_LOCK_EXPIRE_SECONDS = 5; + /** + * 插入报告 + * 创建新的对标报告并启动审批流程 + * + * @param form 保存对标报告表单 + * @return void + */ @Override @Transactional public void insertReport(SaveBenchmarkingReportForm form) { @@ -103,6 +116,13 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService bd.getBusinessDatabase().doBatchInsert(approvalConfigs); } + /** + * 更新报告 + * 修改已有对标报告的信息 + * + * @param form 更新对标报告表单 + * @return void + */ @Override public void updateReport(UpdateBenchmarkingReportForm form) { // 验证报告 @@ -125,6 +145,13 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService .doUpdate(report); } + /** + * 删除报告 + * 逻辑删除指定ID的对标报告 + * + * @param reportId 报告ID + * @return void + */ @Override @Transactional public void deleteReport(String reportId) { @@ -149,6 +176,14 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService .doUpdate(BenchmarkingReportPojo.class); } + /** + * 上传文件 + * 将文件上传到服务器并返回访问路径 + * + * @param file 文件对象 + * @param userId 用户ID + * @return 文件访问路径 + */ @Override public String uploadFile(MultipartFile file, String userId) { String currentTenantId = runtimeAppContextService.getCurrentTenantId(); @@ -179,6 +214,13 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService return fileUploadDTO.getData().getUrl() +"&download=download&token=" + tokenXdap; } + /** + * 启动报告审批 + * 开始对标报告的审批流程 + * + * @param form 审批人员表单 + * @return void + */ @Override @Transactional public void startReportApproval(ApprovalPersonForm form) { @@ -282,6 +324,14 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService .doUpdate(BenchmarkingReportPojo.class); } + /** + * 继续审批 + * 继续执行对标报告的审批流程 + * + * @param flowId 流程ID + * @param userId 用户ID + * @return void + */ @Override @Transactional public void continueApproval(String flowId, String userId) { @@ -348,6 +398,13 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService ); } + /** + * 重启报告审批 + * 重新启动对标报告的审批流程 + * + * @param form 重启报告审批表单 + * @return void + */ @Override @Transactional public void restartReportApproval(RestartReportApprovalForm form) { @@ -491,6 +548,14 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService .doUpdate(BenchmarkingReportPojo.class); } + /** + * 直接发送审批 + * 将审批流程直接发送到指定节点 + * + * @param reportId 报告ID + * @param userId 用户ID + * @return void + */ @Override @Transactional public void directSendingApproval(String reportId, String userId) { @@ -580,6 +645,13 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService bd.getBusinessDatabase().doInsert(record); } + /** + * 处理退回至节点 + * 将审批流程退回至指定节点 + * + * @param form 退回节点表单 + * @return void + */ @Override @Transactional public void handleReturnToNode(HandleReturnNodeForm form) { @@ -671,6 +743,13 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService } } + /** + * 处理退回 + * 处理对标报告审批的退回操作 + * + * @param request 审批请求 + * @return void + */ @Override @Transactional public void handleReturn(HandleApprovalRequest request) { @@ -723,6 +802,13 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService } } + /** + * 获取审批列表 + * 获取对标报告的审批列表信息 + * + * @param form 审批列表表单 + * @return 待办和报告列表视图的分页查询结果 + */ @Override public PageQueryResult getApprovalList(ApprovalListForm form) { PageQueryResult result = bd.getBusinessDatabase() @@ -737,6 +823,13 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService return result; } + /** + * 设置审批当前用户 + * 为审批列表设置当前用户信息 + * + * @param result 待办和报告列表视图的分页查询结果 + * @return void + */ private void setApprovalCurrentUser(PageQueryResult result) { result.getResult().forEach(item -> { if (item.getCurrentUsers() == null || item.getCurrentUsers().isEmpty()) { @@ -753,6 +846,13 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService }); } + /** + * 根据条件获取对标报告 + * 根据筛选条件查询对标报告列表 + * + * @param form 对标报告页面表单 + * @return 待办和报告视图的分页查询结果 + */ @Override public PageQueryResult getBenchmarkingReportByCondition(BenchmarkingReportPageForm form) { PageQueryResult result = bd.getBusinessDatabase() @@ -775,6 +875,13 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService return result; } + /** + * 设置当前审批人 + * 为报告列表设置当前审批人信息 + * + * @param result 待办和报告视图的分页查询结果 + * @return void + */ private void setCurrentApprovers(PageQueryResult result) { result.getResult().forEach(item -> { ApprovalXdapUsersPojo approvalXdapUser = bd.getBusinessDatabase() @@ -784,6 +891,13 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService }); } + /** + * 处理报告审批 + * 处理对标报告的审批请求 + * + * @param request 处理审批请求 + * @return void + */ @Override @Transactional public void handleReportApproval(HandleApprovalRequest request) { @@ -832,12 +946,30 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService } } - // 验证是否为当前处理人 + /** + * 验证是否有权限 + * 检查用户是否有处理当前节点的权限 + * + * @param node 审批配置节点 + * @param userId 用户ID + * @return 是否有权限 + */ private boolean hasPermission(ApprovalConfigPojo node, String userId) { return JSON.parseArray(node.getAssignees()) .toJavaList(String.class).contains(userId); } + /** + * 处理审批逻辑 + * 执行对标报告审批的核心逻辑 + * + * @param flow 审批流程POJO + * @param request 处理审批请求 + * @param currentNode 当前节点 + * @param lastedRecord 最后一条记录 + * @return void + */ + @Override public void processApprovalLogic( ApprovalFlowPojo flow, HandleApprovalRequest request, @@ -887,6 +1019,16 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService myself.processNextNode(flow, currentNode, request.getUserId()); } + /** + * 处理下一个节点 + * 处理审批流程的下一个节点 + * + * @param flow 审批流程POJO + * @param currentNode 当前节点 + * @param userId 用户ID + * @return void + */ + @Override public void processNextNode(ApprovalFlowPojo flow, ApprovalConfigPojo currentNode, String userId) { // 查询报告状态 BenchmarkingReportPojo report = bd.getBusinessDatabase() @@ -920,6 +1062,18 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService .doUpdate(ApprovalFlowPojo.class); } + /** + * 添加节点待办 + * 为指定节点添加待办任务 + * + * @param flow 审批流程POJO + * @param node 审批节点 + * @param report 对标报告POJO + * @param createBy 创建者 + * @param enableReturn 是否允许退回 + * @return void + */ + @Override public void addNodeTodo( ApprovalFlowPojo flow, ApprovalConfigPojo node, @@ -957,6 +1111,17 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService } } + /** + * 取消流程 + * 取消当前审批流程 + * + * @param flow 审批流程POJO + * @param node 审批节点 + * @param status 状态 + * @param userId 用户ID + * @return void + */ + @Override public void cancelProcess( ApprovalFlowPojo flow, ApprovalConfigPojo node, @@ -1009,6 +1174,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService myself.updateTasks(flow, Objects.equals(report.getStatus(), "RETURNED") ? "已撤回" : "已拒绝", 0, node); } + @Override public void updateTasks(ApprovalFlowPojo flow, String status, Integer enableReturn, ApprovalConfigPojo currentNode) { // 更新已办和发起的节点状态 bd.getBusinessDatabase() diff --git a/src/main/java/com/xdap/self_development/service/impl/CommonParameterServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/CommonParameterServiceImpl.java index f563ee3..c37489f 100644 --- a/src/main/java/com/xdap/self_development/service/impl/CommonParameterServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/CommonParameterServiceImpl.java @@ -15,11 +15,23 @@ import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; +/** + * 通用参数服务实现类 + * + * @version 1.0 + * @since 2025 + */ @Service public class CommonParameterServiceImpl implements CommonParameterService { @Resource private BusinessDatabase bd; + /** + * 获取系统和参数 + * 查询所有子系统和参数信息 + * + * @return 子系统和参数项列表 + */ @Override public List getSystemAndPara() { List parameters = bd.getBusinessDatabase() @@ -37,6 +49,13 @@ public class CommonParameterServiceImpl implements CommonParameterService { return convertToModelCommonItemList(parameters); } + /** + * 获取模型常用参数 + * 根据用户ID查询模型常用参数 + * + * @param userId 用户ID + * @return 模型常用参数列表 + */ @Override public List getModelCommonParameter(String userId) { List commonParameters = bd.getBusinessDatabase() @@ -61,6 +80,13 @@ public class CommonParameterServiceImpl implements CommonParameterService { return convertToModelCommonList(modelCommonParameters, commonParameters); } + /** + * 插入模型常用参数 + * 保存新的模型常用参数配置 + * + * @param form 模型常用参数插入表单 + * @return void + */ @Override @Transactional public void insertModelCommonParameter(ModelCommonParameterInsertForm form) { @@ -85,6 +111,13 @@ public class CommonParameterServiceImpl implements CommonParameterService { bd.getBusinessDatabase().doBatchInsert(modelCommonParameters); } + /** + * 更新模型常用参数 + * 修改已有的模型常用参数配置 + * + * @param form 模型常用参数更新表单 + * @return void + */ @Override @Transactional public void updateModelCommonParameter(ModelCommonParameterUpdateForm form) { @@ -100,6 +133,13 @@ public class CommonParameterServiceImpl implements CommonParameterService { bd.getBusinessDatabase().doBatchInsert(modelCommonParameters); } + /** + * 获取分析常用参数 + * 根据用户ID查询分析常用参数 + * + * @param userId 用户ID + * @return 分析常用参数POJO列表 + */ @Override public List getAnalysisCommonParameter(String userId) { return bd.getBusinessDatabase() @@ -109,6 +149,13 @@ public class CommonParameterServiceImpl implements CommonParameterService { .doQuery(AnalysisCommonParametersPojo.class); } + /** + * 插入分析常用参数 + * 保存新的分析常用参数配置 + * + * @param form 分析常用参数插入表单 + * @return void + */ @Override @Transactional public void insertAnalysisCommonParameter(AnalysisCommonParameterInsertForm form) { @@ -132,6 +179,13 @@ public class CommonParameterServiceImpl implements CommonParameterService { bd.getBusinessDatabase().doInsert(analysisCommonParameter); } + /** + * 更新分析常用参数 + * 修改已有的分析常用参数配置 + * + * @param form 分析常用参数更新表单 + * @return void + */ @Override @Transactional public void updateAnalysisCommonParameter(AnalysisCommonParameterUpdateForm form) { @@ -149,6 +203,10 @@ public class CommonParameterServiceImpl implements CommonParameterService { /** * ParameterPojo 列表转换为 ModelCommonItem 列表 + * 将参数POJO列表转换为模型常用项列表 + * + * @param parameterList 参数POJO列表 + * @return 模型常用项列表 */ public static List convertToModelCommonItemList(List parameterList) { if (parameterList == null || parameterList.isEmpty()) { @@ -194,6 +252,11 @@ public class CommonParameterServiceImpl implements CommonParameterService { /** * 将 ModelCommonParametersPojo 列表转换为 ModelCommon 列表 + * 将模型常用参数POJO列表转换为模型常用列表 + * + * @param paramsList 模型常用参数POJO列表 + * @param commonParameters 通用参数POJO列表 + * @return 模型常用列表 */ private List convertToModelCommonList( List paramsList, List commonParameters @@ -250,6 +313,11 @@ public class CommonParameterServiceImpl implements CommonParameterService { /** * 将List 转换为 ModelCommonParametersPojo 列表 + * 将参数项列表转换为模型常用参数POJO列表 + * + * @param parameters 参数项列表 + * @param commonId 通用ID + * @return 模型常用参数POJO列表 */ private List convertToModelCommonParameters( List parameters, String commonId) { diff --git a/src/main/java/com/xdap/self_development/service/impl/DataEntryEngineModelServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/DataEntryEngineModelServiceImpl.java index 2901200..2be775a 100644 --- a/src/main/java/com/xdap/self_development/service/impl/DataEntryEngineModelServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/DataEntryEngineModelServiceImpl.java @@ -45,12 +45,10 @@ import java.util.*; import java.util.stream.Collectors; /** - *

- * 发动机型号数据表 服务实现类 - *

+ * 数据录入发动机型号服务实现类 * - * @author Lys111 - * @since 2025-11-12 + * @version 1.0 + * @since 2025 */ @Slf4j @Service @@ -75,6 +73,12 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + /** + * 查询所有发动机型号 + * 获取数据库中所有发动机型号数据 + * + * @return 发动机型号POJO列表 + */ @Override public List selectAll() { List modelPojos = sw.buildFromDatasource("xdap_app_223770822127386625") @@ -84,6 +88,13 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ } + /** + * 条件分页查询发动机型号 + * 根据指定条件分页查询发动机型号数据 + * + * @param request 数据录入发动机型号页面请求对象 + * @return 分页结果DTO + */ @Override public PageResultDTO selectByConditionPage(DataEntryEngineModelPageRequest request) { //责任人ID @@ -175,6 +186,15 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ } + /** + * Excel导入发动机型号数据 + * 从Excel文件导入发动机型号相关信息 + * + * @param file Excel文件 + * @param userId 用户ID + * @param ycOrOt 玉柴或其他标识 + * @return void + */ @Override // @Transactional public void excelImport(MultipartFile file, String userId, String ycOrOt) { @@ -200,6 +220,14 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ } } + /** + * 插入发动机型号数据 + * 添加新的发动机型号数据到数据库 + * + * @param request 数据录入发动机型号页面请求对象 + * @param userId 用户ID + * @return 插入结果 + */ @Override @Transactional public int insert(DataEntryEngineModelPageRequest request, String userId) {/* @@ -299,6 +327,12 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ //模板管理审批完成触发更新 参数版本 //遍历所有机型 把所有机型的版本加一 状态为未分发 绑定新版参数新版参数版本加一 所有新参数值为空 重新走分发 + /** + * 更新模型到新版本 + * 将所有机型更新到新版本并绑定新参数 + * + * @return void + */ @Override @Transactional public void updateModelForNewVersion() { @@ -322,7 +356,16 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ } } - //为每个机型绑定参数 + /** + * 为每个机型绑定参数 + * 将参数与发动机型号进行绑定 + * + * @param modelPojo 发动机型号POJO + * @param parameters 参数列表 + * @param newVersionNum 新版本号 + * @param xdapUsersPojo 用户POJO + * @return void + */ public void saveDataParamDetail(DataEntryEngineModelPojo modelPojo, List parameters, Integer newVersionNum, XdapUsers xdapUsersPojo) { /* 遍历机型 @@ -395,11 +438,25 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ // 又不在这生成待办了 改为管理员进去选择责任人后待办 batchInsertTodoTask(todoTaskPojos); } + /** + * 批量插入待办任务 + * 批量添加待办任务到数据库 + * + * @param todoTaskPojos 待办任务POJO列表 + * @return void + */ public void batchInsertTodoTask(List todoTaskPojos) { sw.buildFromDatasource("xdap_app_223770822127386625").doBatchInsert(todoTaskPojos); } + /** + * Excel导出发动机型号数据 + * 导出发动机型号数据到Excel文件 + * + * @param response HTTP响应对象 + * @return void + */ @Override public void excelExport(HttpServletResponse response) { try { @@ -432,6 +489,13 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ } } + /** + * 根据型号ID查询发动机型号 + * 通过ID获取特定的发动机型号信息 + * + * @param modelId 型号ID + * @return 发动机型号POJO + */ @Override public DataEntryEngineModelPojo selectBymodelId(String modelId) { if (ObjectUtils.isNotEmpty(modelId)) { @@ -445,6 +509,12 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ return null; } + /** + * 条件分页查询版本信息 + * 根据条件分页获取版本信息 + * + * @return 分页结果DTO + */ @Override public PageResultDTO selectVersionByConditionPage() { List list = sw.buildFromDatasource("xdap_app_223770822127386625") @@ -457,6 +527,13 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ return pageResultDTO; } + /** + * 删除发动机型号 + * 根据ID删除指定的发动机型号数据 + * + * @param modelId 型号ID + * @return void + */ @Override public void delete(String modelId) { EngineReviewListPojo model = sw.buildFromDatasource("xdap_app_223770822127386625") @@ -478,6 +555,14 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ .doDelete(DataEntryEngineModelPojo.class); } + /** + * 设置响应 + * 设置HTTP响应的头部信息用于文件下载 + * + * @param response HTTP响应对象 + * @param fileName 文件名 + * @return void + */ private void setupResponse(HttpServletResponse response, String fileName) throws IOException { response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); diff --git a/src/main/java/com/xdap/self_development/service/impl/DataEntryServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/DataEntryServiceImpl.java index ae2b0d2..8ab2d73 100644 --- a/src/main/java/com/xdap/self_development/service/impl/DataEntryServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/DataEntryServiceImpl.java @@ -17,32 +17,74 @@ import java.util.Collections; import java.util.List; +/** + * 数据录入服务实现类 + * + * @version 1.0 + * @since 2025 + */ @Slf4j @Service public class DataEntryServiceImpl implements DataEntryService { @Resource private MpaasQueryFactory sw; + /** + * 读取Excel文件 + * 从上传的Excel文件中读取数据 + * + * @param file Excel文件 + * @return void + */ @Override public void readExcel(MultipartFile file) { } + /** + * 写入Excel文件 + * 将数据写入Excel文件并输出到响应 + * + * @param form 选项表单 + * @param response HTTP响应对象 + * @return void + */ @Override public void writeExcel(OptionForm form, HttpServletResponse response) { } + /** + * 插入参数 + * 根据模板表单插入新的参数数据 + * + * @param form 模板表单 + * @return void + */ @Override public void insertParameter(TemplateForm form) { } + /** + * 根据条件获取参数 + * 根据选项表单条件查询参数列表 + * + * @param form 选项表单 + * @return 参数POJO列表 + */ @Override public List getParameterByCondition(OptionForm form) { List parameters = sw.buildFromDatasource("xdap_app_223770822127386625").doQuery(ParameterPojo.class); return parameters; } + /** + * 根据条件获取模板 + * 根据模板名称查询模板列表 + * + * @param templateName 模板名称 + * @return 模板POJO列表 + */ @Override public List getTemplateByCondition(String templateName) { return Collections.emptyList(); diff --git a/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java index 8dd2471..a039d85 100644 --- a/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java @@ -43,12 +43,10 @@ import java.util.stream.Collectors; import java.util.stream.Stream; /** - *

- * 参数详情 服务实现类 - *

+ * 发动机参数详情服务实现类 * - * @author Lys111 - * @since 2025-11-13 + * @version 1.0 + * @since 2025 */ @Slf4j @Service @@ -72,7 +70,11 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { /** * 返回参数列表 + * 根据模型ID和TC数据标志选择参数列表 * + * @param modelID 发动机型号ID + * @param tcData TC数据标识 + * @return 参数列表映射 */ @Override public HashMap> selectParamList(String modelID, String tcData) { @@ -166,6 +168,13 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { )); } + /** + * 查询参数列表和模型 + * 根据模型ID获取参数列表和模型信息 + * + * @param modelID 发动机型号ID + * @return 参数列表和模型映射 + */ @Override public Map>> selectParamListAndModel(String modelID) { HashMap>> map = new HashMap<>(); @@ -179,7 +188,12 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { /** * Excel导入 + * 从Excel文件导入参数详情数据 * + * @param file Excel文件 + * @param modelId 型号ID + * @param userId 用户ID + * @return void */ @Override public void excelImport(MultipartFile file, String modelId, String userId) { @@ -209,6 +223,15 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { } } + /** + * Excel导出 + * 导出参数详情数据到Excel文件 + * + * @param response HTTP响应对象 + * @param modelId 型号ID + * @param userId 用户ID + * @return void + */ @Override public void excelExport( HttpServletResponse response, @@ -272,6 +295,13 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { } } + /** + * 根据参数查询值 + * 根据参数详情请求查询参数值 + * + * @param engineParamDetailRequest 发动机参数详情请求 + * @return 参数详情DTO列表 + */ @Override public List selectValueByParam(EngineParamDetailRequest engineParamDetailRequest) { String engineModelID = engineParamDetailRequest.getEngineModelID(); @@ -294,6 +324,13 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { return engineParamDetailDTOS; } + /** + * 根据多个参数查询值 + * 根据参数详情请求查询多个参数的值 + * + * @param engineParamDetailRequest 发动机参数详情请求 + * @return 参数详情DTO映射 + */ @Override public Map> selectValueByMoreParam(EngineParamDetailRequest engineParamDetailRequest) { @@ -434,7 +471,9 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { * 修改数据 * 保存编辑 此处不开始审批 * - * @param engineParamDetailPojos + * @param engineParamDetailPojos 参数详情POJO列表 + * @param currentUserId 当前用户ID + * @return void */ @Override public void updateParamValue(List engineParamDetailPojos, String currentUserId) { @@ -567,6 +606,14 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { } + /** + * 更新并插入填写人 + * 分解任务并更新填写人信息 + * + * @param engineParamDetailPojos 参数详情POJO列表 + * @param userID 用户ID + * @return void + */ //分解任务 @Override public void updateToInsertFiledBy(List engineParamDetailPojos, String userID) { @@ -679,16 +726,36 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { } } + /** + * 批量插入待办任务 + * 批量插入待办任务到数据库 + * + * @param todoTaskPojos 待办任务POJO列表 + * @return void + */ @Transactional // 发生任何异常都回滚 public void batchInsertTodoTask(List todoTaskPojos) { sw.buildFromDatasource("xdap_app_223770822127386625").doBatchInsert(todoTaskPojos); } + /** + * 批量插入发起任务 + * 批量插入发起任务到数据库 + * + * @param taskPojos 发起任务POJO列表 + * @return void + */ @Transactional // 发生任何异常都回滚 public void batchInsertInitiatedTask(List taskPojos) { sw.buildFromDatasource("xdap_app_223770822127386625").doBatchInsert(taskPojos); } + /** + * 查询所有新版本参数 + * 查询所有最新版本的参数信息 + * + * @return 参数POJO列表 + */ @Override public List selectAllByNewVersion() { //读取已通过审核的版本 DRAFT(草稿)、APPROVING(审批中)、COMPLETE(已完成)、RETURNED(已撤回)、REJECTED(已拒绝) @@ -737,6 +804,12 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { } + /** + * 查询所有新版本参数包括TC + * 查询所有最新版本的参数信息,包括TC数据 + * + * @return 参数POJO列表 + */ @Override public List selectAllAndTcByNewVersion() { //读取已通过审核的版本 DRAFT(草稿)、APPROVING(审批中)、COMPLETE(已完成)、RETURNED(已撤回)、REJECTED(已拒绝) @@ -766,6 +839,13 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { .doQuery(ParameterPojo.class); } + /** + * 根据模型查询新版本参数详情 + * 根据模型ID查询最新版本的参数详情 + * + * @param modelId 模型ID + * @return 参数详情POJO列表 + */ @Override public List selectByModelNewVersion(String modelId) { @@ -788,6 +868,13 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { ).collect(Collectors.toList()); } + /** + * 根据责任人ID查询参数详情 + * 根据责任人ID查询相关的参数详情 + * + * @param resId 责任人ID + * @return 参数详情POJO列表 + */ @Override public List selectByResId(String resId) { if (ObjectUtils.isEmpty(resId)) { @@ -809,6 +896,13 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { ).collect(Collectors.toList()); } + /** + * 根据填写人ID查询参数详情 + * 根据填写人ID查询相关的参数详情 + * + * @param filledId 填写人ID + * @return 参数详情POJO列表 + */ @Override public List selectByfiledId(String filledId) { if (ObjectUtils.isEmpty(filledId)) { @@ -827,6 +921,13 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { ).collect(Collectors.toList()); } + /** + * 根据审批ID查询参数详情 + * 根据审批ID查询相关的参数详情 + * + * @param approvalId 审批ID + * @return 参数详情POJO列表 + */ @Override public List selectByapprovalId(String approvalId) { if (ObjectUtils.isNotEmpty(approvalId)) { @@ -837,6 +938,13 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { return Collections.emptyList(); } + /** + * 根据ID查询参数详情 + * 根据ID查询单个参数详情 + * + * @param id 参数详情ID + * @return 参数详情POJO + */ @Override public EngineParamDetailPojo selectById(String id) { List engineParamDetailPojos = sw.buildFromDatasource("xdap_app_223770822127386625") @@ -848,6 +956,13 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { return null; } + /** + * 查询版本列表 + * 根据模型ID查询版本列表 + * + * @param modelId 模型ID + * @return 版本号列表 + */ @Override public List selectVersionList(String modelId) { if (ObjectUtils.isNotEmpty(modelId)) { @@ -861,6 +976,15 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { return Collections.emptyList(); } + /** + * 根据类型查询人员 + * 根据子系统、部门和类型查询相关人员 + * + * @param subSystem 子系统 + * @param dept 部门 + * @param type 类型 + * @return 用户POJO列表 + */ @Override public List selectPersonoByType(String subSystem, String dept, Integer type) { List xdapUsersPojos = new ArrayList<>(); @@ -882,6 +1006,14 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { } + /** + * 设置响应 + * 设置HTTP响应头部信息用于文件下载 + * + * @param response HTTP响应对象 + * @param fileName 文件名 + * @return void + */ private void setupResponse(HttpServletResponse response, String fileName) throws IOException { response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); diff --git a/src/main/java/com/xdap/self_development/service/impl/EngineReviewListServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/EngineReviewListServiceImpl.java index 67277e8..8c6e154 100644 --- a/src/main/java/com/xdap/self_development/service/impl/EngineReviewListServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/EngineReviewListServiceImpl.java @@ -24,6 +24,12 @@ import java.util.Date; import java.util.List; import java.util.stream.Collectors; +/** + * 发动机审核列表服务实现类 + * + * @version 1.0 + * @since 2025 + */ @Service @Slf4j public class EngineReviewListServiceImpl implements EngineReviewListService { @@ -32,6 +38,13 @@ public class EngineReviewListServiceImpl implements EngineReviewListService { @Autowired private XdapDeptUsersService xdapDeptUsersService; + /** + * 根据用户ID查询发动机审核列表 + * 根据请求参数查询发动机审核列表信息 + * + * @param engineReviewListRequest 发动机审核列表请求 + * @return 分页结果DTO + */ @Override public PageResultDTO selectEngineReviewListByUserId(EngineReviewListRequest engineReviewListRequest) { @@ -87,6 +100,13 @@ public class EngineReviewListServiceImpl implements EngineReviewListService { return pageResultDTO; } + /** + * 撤回审批 + * 撤回指定ID的审批流程 + * + * @param approvalId 审批ID + * @return 撤回结果 + */ //撤回审批 @Override public String returnApproval(String approvalId) { diff --git a/src/main/java/com/xdap/self_development/service/impl/ModelMenuPermissionServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/ModelMenuPermissionServiceImpl.java index ed8ecf9..fc22024 100644 --- a/src/main/java/com/xdap/self_development/service/impl/ModelMenuPermissionServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/ModelMenuPermissionServiceImpl.java @@ -13,6 +13,12 @@ import org.springframework.stereotype.Service; import java.util.*; +/** + * 模型菜单权限服务实现类 + * + * @version 1.0 + * @since 2025 + */ @Slf4j @Service public class ModelMenuPermissionServiceImpl implements ModelMenuPermissionService { @@ -21,6 +27,12 @@ public class ModelMenuPermissionServiceImpl implements ModelMenuPermissionServic BusinessDatabase businessDatabase; + /** + * 查询菜单列表 + * 查询所有的菜单列表信息 + * + * @return 菜单列表视图 + */ @Override public List selectMenus() { @@ -58,6 +70,13 @@ public class ModelMenuPermissionServiceImpl implements ModelMenuPermissionServic return views; } + /** + * 根据菜单名称查询菜单 + * 根据菜单名称查询菜单信息 + * + * @param menuName 菜单名称 + * @return 菜单字典POJO + */ @Override public ModelMenuDictionaryPojo selectMenuById(String menuName) { if (ObjectUtils.isEmpty(menuName)) { diff --git a/src/main/java/com/xdap/self_development/service/impl/ModelRoleServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/ModelRoleServiceImpl.java index 1e171de..6a9402c 100644 --- a/src/main/java/com/xdap/self_development/service/impl/ModelRoleServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/ModelRoleServiceImpl.java @@ -25,6 +25,12 @@ import java.util.*; import java.util.stream.Collectors; +/** + * 模型角色服务实现类 + * + * @version 1.0 + * @since 2025 + */ @Slf4j @Service public class ModelRoleServiceImpl implements ModelRoleService { @@ -36,6 +42,13 @@ public class ModelRoleServiceImpl implements ModelRoleService { @Autowired XdapDeptUsersService xdapDeptUsersService; + /** + * 添加角色 + * 根据请求参数添加新角色 + * + * @param request 模型角色请求 + * @return void + */ @Override public void addRoles(ModelRolesRequest request) { List modelRolesPojos = businessDatabase.getBusinessDatabase() @@ -54,11 +67,24 @@ public class ModelRoleServiceImpl implements ModelRoleService { .doInsert(modelRolesPojo); } + /** + * 分页查询角色 + * 根据用户ID分页查询角色信息 + * + * @param userID 用户ID + * @return 角色POJO分页结果 + */ @Override public PageResultDTO selectRolesByPage(String userID) { return null; } + /** + * 查询所有角色 + * 查询系统中的所有角色信息 + * + * @return 角色POJO列表 + */ @Override public List selectRoles() { List modelRolesPojos = businessDatabase.getBusinessDatabase() @@ -67,6 +93,13 @@ public class ModelRoleServiceImpl implements ModelRoleService { return modelRolesPojos; } + /** + * 更新角色权限 + * 根据请求列表更新角色权限信息 + * + * @param requests 角色权限关联请求列表 + * @return void + */ @Override @Transactional public void updatePerForRole(List requests) { @@ -135,6 +168,14 @@ public class ModelRoleServiceImpl implements ModelRoleService { } + /** + * 更新角色 + * 根据角色信息和用户ID更新角色 + * + * @param modelRolesPojo 模型角色POJO + * @param userID 用户ID + * @return void + */ @Override public void updateRole(ModelRolesPojo modelRolesPojo, String userID) { modelRolesPojo.setLastUpdatedBy(userID); @@ -147,6 +188,13 @@ public class ModelRoleServiceImpl implements ModelRoleService { .doUpdate(ModelRolesPojo.class); } + /** + * 根据用户查询权限 + * 根据用户或部门ID查询权限信息 + * + * @param userOrDepID 用户或部门ID + * @return 菜单参数视图列表 + */ @Override public List selectPersByUser(String userOrDepID) { if (ObjectUtils.isEmpty(userOrDepID)) { @@ -166,6 +214,13 @@ public class ModelRoleServiceImpl implements ModelRoleService { return paramViews; } + /** + * 根据角色查询权限 + * 根据角色ID查询权限信息 + * + * @param roleID 角色ID + * @return 菜单参数视图列表 + */ @Override public List selectPersByRole(String roleID) { if (ObjectUtils.isEmpty(roleID)) { @@ -229,6 +284,14 @@ public class ModelRoleServiceImpl implements ModelRoleService { return menuParamViews; } + /** + * 删除角色 + * 根据角色ID和用户ID删除角色 + * + * @param roleID 角色ID + * @param userID 用户ID + * @return void + */ @Override @Transactional public void removeRoles(String roleID, String userID) { @@ -250,6 +313,13 @@ public class ModelRoleServiceImpl implements ModelRoleService { } + /** + * 用户角色绑定 + * 将用户或部门与角色进行绑定 + * + * @param userRoleBindingRequest 用户角色绑定请求 + * @return void + */ @Override @Transactional public void userRoleBinding(UserRoleBindingRequest userRoleBindingRequest) { @@ -279,6 +349,13 @@ public class ModelRoleServiceImpl implements ModelRoleService { } + /** + * 根据角色查询用户或部门 + * 根据角色ID查询关联的用户或部门信息 + * + * @param roleID 角色ID + * @return 用户或部门信息映射 + */ @Override public HashMap> selectUserOrDeptByRole(String roleID) { if (ObjectUtils.isEmpty(roleID)) { diff --git a/src/main/java/com/xdap/self_development/service/impl/ParameterServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/ParameterServiceImpl.java index 89ad88f..46e95e3 100644 --- a/src/main/java/com/xdap/self_development/service/impl/ParameterServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/ParameterServiceImpl.java @@ -27,6 +27,12 @@ import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; +/** + * 参数服务实现类 + * + * @version 1.0 + * @since 2025 + */ @Service public class ParameterServiceImpl implements ParameterService { @Resource @@ -34,6 +40,13 @@ public class ParameterServiceImpl implements ParameterService { @Resource private ParameterService myself; + /** + * 根据条件获取参数 + * 根据页面表单条件查询参数信息 + * + * @param form 参数页面表单 + * @return 参数POJO分页结果 + */ @Override public MyPageResult getParameterByCondition(ParameterPageForm form) { TemplatePojo template = bd.getBusinessDatabase() @@ -43,21 +56,10 @@ public class ParameterServiceImpl implements ParameterService { if (template == null) { throw new CommonException("模板未找到"); } -// List partsNames = permissionGetter.getParamPermissions(permissionGetter.getUserId()); -// Set objects = new HashSet<>(); -// objects.addAll(permissionGetter.getParamPermissions(template.getTemplateName())); -// objects.addAll(bd.getBusinessDatabase() -// .viewQueryMode(true) -// .view("selectParametersByTIdAndCreateBy") -// .setVar("templateId", template.getId()) -// .setVar("createdBy", permissionGetter.getCurrentUserId()) -// .doQuery(ParameterPojo.class).stream().map(ParameterPojo::getId).collect(Collectors.toList())); -// List parameterIds = new ArrayList<>(objects); PageQueryResult parameterPageQueryResult = bd.getBusinessDatabase() .viewQueryMode(true) .view("selectParametersByTId") .setVar("templateId", template.getId()) -// .setVar("parameterIds", parameterIds) .like("parameter_name", form.getParameterName()) .like("parts_name", form.getPartsName()) .like("parameter_type", form.getParameterType()) @@ -69,6 +71,13 @@ public class ParameterServiceImpl implements ParameterService { return myPageResult; } + /** + * 维护参数 + * 根据表单信息维护参数信息 + * + * @param form 更新参数表单 + * @return 模板信息视图 + */ @Override @Transactional public TemplateInfoView maintenanceParameters(UpdateParameterForm form) { @@ -113,6 +122,10 @@ public class ParameterServiceImpl implements ParameterService { /** * 校验模板状态 + * 校验模板的当前状态是否允许修改 + * + * @param benchmark 模板基准信息 + * @return void */ public void validateTemplateStatus(TemplateBenchmark benchmark) { // 当前修改的模板不为最新版 @@ -139,6 +152,11 @@ public class ParameterServiceImpl implements ParameterService { /** * 创建/复用新版本模板 + * 根据基准信息和用户ID创建或复用新版本模板 + * + * @param benchmark 模板基准信息 + * @param userId 用户ID + * @return 模板POJO */ public TemplatePojo createOrReuseNewTemplate(TemplateBenchmark benchmark, String userId) { TemplatePojo baseTemplate = benchmark.getBaseTemplate(); @@ -161,6 +179,13 @@ public class ParameterServiceImpl implements ParameterService { } } + /** + * 获取模板基准 + * 根据模板行ID获取模板基准信息 + * + * @param templateRowId 模板行ID + * @return 模板基准信息 + */ public TemplateBenchmark getTemplateBenchmark(String templateRowId) { // 基准模板(用户选择的要比较的版本) TemplatePojo baseTemplate = bd.getBusinessDatabase() @@ -191,6 +216,9 @@ public class ParameterServiceImpl implements ParameterService { return new TemplateBenchmark(baseTemplate, lastTemplate, parameters); } + /** + * 模板基准信息封装类 + */ /** * 模板基准信息封装类 */ @@ -202,6 +230,9 @@ public class ParameterServiceImpl implements ParameterService { private final List parameters; } + /** + * 参数处理结果封装类 + */ /** * 参数处理结果封装类 */ @@ -212,6 +243,13 @@ public class ParameterServiceImpl implements ParameterService { private final List revisionRecords; } + /** + * 计算下一个版本号 + * 根据当前版本号计算下一个版本号 + * + * @param currentVersion 当前版本号 + * @return 下一个版本号 + */ private Integer calculateNextVersion(Integer currentVersion) { try { return currentVersion + 1; @@ -220,6 +258,18 @@ public class ParameterServiceImpl implements ParameterService { } } + /** + * 处理参数 + * 根据表单和现有参数处理参数变更 + * + * @param parameterForms 参数表单列表 + * @param existingParameters 现有参数列表 + * @param baseTemplate 基础模板 + * @param newTemplate 新模板 + * @param userId 用户ID + * @param isLastComplete 是否最后完成 + * @return 参数处理结果 + */ public ParameterProcessingResult processParameters( List parameterForms, List existingParameters, @@ -271,6 +321,15 @@ public class ParameterServiceImpl implements ParameterService { /** * 处理新增参数 + * 处理参数表单中的新增操作 + * + * @param form 参数表单 + * @param newTemplate 新模板 + * @param newParameters 新参数列表 + * @param revisionRecords 修订记录列表 + * @param baseTemplate 基础模板 + * @param userId 用户ID + * @return void */ private void handleInsertOperation( ParameterForm form, TemplatePojo newTemplate, @@ -320,6 +379,16 @@ public class ParameterServiceImpl implements ParameterService { /** * 处理更新参数 + * 处理参数表单中的更新操作 + * + * @param form 参数表单 + * @param parameterMap 参数映射 + * @param newTemplate 新模板 + * @param newParameters 新参数列表 + * @param revisionRecords 修订记录列表 + * @param baseTemplate 基础模板 + * @param userId 用户ID + * @return void */ private void handleUpdateOperation( ParameterForm form, Map parameterMap, @@ -363,6 +432,14 @@ public class ParameterServiceImpl implements ParameterService { )); } + /** + * 获取参数变更 + * 获取两个参数对象之间的变更信息 + * + * @param originalParameter 原始参数 + * @param updatedParameter 更新后参数 + * @return 参数变更信息 + */ private String getParameterChange(ParameterPojo originalParameter, ParameterPojo updatedParameter) { return handleParameterChange("参数名", originalParameter.getParameterName(), updatedParameter.getParameterName()) + handleParameterChange("参数类型", originalParameter.getParameterType(), updatedParameter.getParameterType()) + @@ -374,6 +451,15 @@ public class ParameterServiceImpl implements ParameterService { handleParameterChange("部门名", originalParameter.getDepartment(), updatedParameter.getDepartment()); } + /** + * 处理参数变更 + * 处理单个参数字段的变更信息 + * + * @param name 参数名称 + * @param originalParameter 原始参数值 + * @param updatedParameter 更新后参数值 + * @return 参数变更信息 + */ private String handleParameterChange(String name, String originalParameter, String updatedParameter) { StringBuilder sb = new StringBuilder(); if ((originalParameter == null && (updatedParameter == null || updatedParameter.isEmpty()))) { @@ -399,6 +485,14 @@ public class ParameterServiceImpl implements ParameterService { /** * 处理删除参数 + * 处理参数表单中的删除操作 + * + * @param form 参数表单 + * @param parameterMap 参数映射 + * @param newTemplate 新模板 + * @param revisionRecords 修订记录列表 + * @param baseTemplate 基础模板 + * @return void */ private void handleDeleteOperation( ParameterForm form, Map parameterMap, @@ -424,6 +518,13 @@ public class ParameterServiceImpl implements ParameterService { /** * 处理未修改参数 + * 处理参数表单中的未修改操作 + * + * @param form 参数表单 + * @param parameterMap 参数映射 + * @param newParameters 新参数列表 + * @param isLastComplete 是否最后完成 + * @return void */ private void handleUnchangedOperation( ParameterForm form, Map parameterMap, @@ -441,6 +542,14 @@ public class ParameterServiceImpl implements ParameterService { newParameters.add(unchangedParameter); } + /** + * 查找未匹配的参数 + * 查找参数映射中未在参数表单中出现的参数 + * + * @param parameterMap 参数映射 + * @param parameterForms 参数表单列表 + * @return 未匹配的参数列表 + */ public List findUnmatchedParameters( Map parameterMap, List parameterForms) { @@ -456,6 +565,12 @@ public class ParameterServiceImpl implements ParameterService { /** * 保存所有数据 + * 保存模板和参数处理结果的所有数据 + * + * @param originalTemplate 原始模板 + * @param newTemplate 新模板 + * @param result 参数处理结果 + * @return void */ public void saveAllData(TemplatePojo originalTemplate, TemplatePojo newTemplate, ParameterProcessingResult result) { List parameterIds = bd.getBusinessDatabase() @@ -492,6 +607,11 @@ public class ParameterServiceImpl implements ParameterService { /** * 创建模板参数关联 + * 创建模板和参数的关联对象 + * + * @param templateId 模板ID + * @param parameterId 参数ID + * @return 模板参数关联POJO */ private TemplateAndParameterPojo createTemplateAndParameter(String templateId, String parameterId) { TemplateAndParameterPojo tap = new TemplateAndParameterPojo(); diff --git a/src/main/java/com/xdap/self_development/service/impl/ResponsiblePerServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/ResponsiblePerServiceImpl.java index d1d84d2..2a2b42c 100644 --- a/src/main/java/com/xdap/self_development/service/impl/ResponsiblePerServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/ResponsiblePerServiceImpl.java @@ -17,12 +17,10 @@ import java.util.ArrayList; import java.util.List; /** - *

- * 责任人表 服务实现类 - *

+ * 责任人服务实现类 * - * @author Lys111 - * @since 2025-11-13 + * @version 1.0 + * @since 2025 */ @Slf4j @Service @@ -32,6 +30,14 @@ public class ResponsiblePerServiceImpl implements ResponsiblePerService { private MpaasQueryFactory sw; @Autowired private XdapDeptUsersService xdapDeptUsersService; + /** + * 根据部门和人员查询责任人 + * 根据部门名称和人员名称查询责任人信息 + * + * @param department 部门名称 + * @param resPerson 人员名称 + * @return 责任人POJO + */ @Override public ResponsiblePersonPojo selectByDepAndPer(String department, String resPerson) { if (ObjectUtils.isEmpty(department) || ObjectUtils.isEmpty(resPerson)) { @@ -52,6 +58,13 @@ public class ResponsiblePerServiceImpl implements ResponsiblePerService { return ResponsiblePerson; } + /** + * 根据部门查询责任人 + * 根据部门ID查询责任人信息 + * + * @param departmentId 部门ID + * @return 责任人POJO + */ @Override public ResponsiblePersonPojo selectByDep(String departmentId) { if (ObjectUtils.isEmpty(departmentId) && ObjectUtils.isEmpty(departmentId)) { @@ -68,6 +81,13 @@ public class ResponsiblePerServiceImpl implements ResponsiblePerService { return ResponsiblePerson; } + /** + * 根据用户ID查询责任人 + * 根据用户列表查询相关责任人信息 + * + * @param userIds 用户列表 + * @return 责任人POJO列表 + */ @Override public List selectByUserId(List userIds) { if (ObjectUtils.isEmpty(userIds)) { @@ -83,6 +103,13 @@ public class ResponsiblePerServiceImpl implements ResponsiblePerService { return personPojos; } + /** + * 根据部门名称查询责任人 + * 根据部门名称查询相关责任人信息 + * + * @param departmentName 部门名称 + * @return 责任人POJO列表 + */ @Override public List selectByDepName(String departmentName) { XdapDepartments XdapDepartments = xdapDeptUsersService.selectDeptByName(departmentName); @@ -95,6 +122,13 @@ public class ResponsiblePerServiceImpl implements ResponsiblePerService { return personPojos; } + /** + * 插入责任人 + * 插入责任人信息到数据库 + * + * @param ResponsiblePerson 责任人POJO + * @return 插入结果 + */ @Override public Object insert(ResponsiblePersonPojo ResponsiblePerson) { Object testDemo = null; @@ -108,6 +142,12 @@ public class ResponsiblePerServiceImpl implements ResponsiblePerService { return testDemo; } + /** + * 查询所有责任人 + * 查询数据库中所有的责任人信息 + * + * @return 责任人POJO列表 + */ @Override public List seelctAll() { List personPojos = sw.buildFromDatasource("xdap_app_223770822127386625") @@ -115,6 +155,13 @@ public class ResponsiblePerServiceImpl implements ResponsiblePerService { return personPojos; } + /** + * 根据ID查询责任人 + * 根据责任人ID查询责任人信息 + * + * @param responsiblePersonId 责任人ID + * @return 责任人POJO + */ @Override public ResponsiblePersonPojo selectById(String responsiblePersonId) { if (ObjectUtils.isEmpty(responsiblePersonId)) { @@ -130,6 +177,14 @@ public class ResponsiblePerServiceImpl implements ResponsiblePerService { } } + /** + * 根据子系统和部门查询责任人 + * 根据子系统名称和部门名称查询责任人信息 + * + * @param subSystem 子系统名称 + * @param dept 部门名称 + * @return 责任人POJO列表 + */ @Override public List selectBysubSystemDept(String subSystem, String dept) { List personPojos = sw.buildFromDatasource("xdap_app_223770822127386625") diff --git a/src/main/java/com/xdap/self_development/service/impl/ResponsiblePersonServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/ResponsiblePersonServiceImpl.java index 3855343..c0c379f 100644 --- a/src/main/java/com/xdap/self_development/service/impl/ResponsiblePersonServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/ResponsiblePersonServiceImpl.java @@ -34,6 +34,12 @@ import java.util.List; import java.util.Set; import java.util.stream.Collectors; +/** + * 责任人服务实现类 + * + * @version 1.0 + * @since 2025 + */ @Service public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { @Resource @@ -44,6 +50,11 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { private XdapDeptUsersService xdapDeptUsersService; @Override + /** + * 保存责任人信息 + * + * @param form 责任人表单数据 + */ public void saveResponsiblePerson(ResponsiblePersonForm form) { List responsiblePeople = bd.getBusinessDatabase() .eq("department_id", form.getDepartmentId()) @@ -66,6 +77,11 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { } @Override + /** + * 保存填写人信息 + * + * @param form 填写人表单数据 + */ public void saveFilledPerson(FilledPersonForm form) { List responsiblePeople = bd.getBusinessDatabase() .eq("userId", form.getUserId()) @@ -81,12 +97,16 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { responsiblePerson.setDepartmentId(form.getDepartmentId()); responsiblePerson.setUserId(form.getUserId()); responsiblePerson.setSubsystem(form.getSubsystem()); -// responsiblePerson.setPartsName(form.getPartsName()); responsiblePerson.setPersonLevel(2); bd.getBusinessDatabase().doInsert(responsiblePerson); } @Override + /** + * 更新责任人信息 + * + * @param form 更新责任人表单数据 + */ public void updateResponsiblePerson(UpdateResponsiblePersonForm form) { bd.getBusinessDatabase() .rowid("id", form.getRowId()) @@ -99,6 +119,11 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { } @Override + /** + * 更新填写人信息 + * + * @param form 更新填写人表单数据 + */ public void updateFilledPerson(UpdateFilledPersonForm form) { bd.getBusinessDatabase() .rowid("id", form.getRowId()) @@ -111,6 +136,11 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { } @Override + /** + * 删除责任人信息 + * + * @param rowId 行ID + */ public void deleteResponsiblePerson(String rowId) { bd.getBusinessDatabase() .rowid("id", rowId) @@ -118,6 +148,12 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { } @Override + /** + * 获取部门责任人信息 + * + * @param form 部门责任人分页表单 + * @return 部门责任人分页查询结果 + */ public PageQueryResult getDeptResponsible(DeptResponsiblePageForm form) { return bd.getBusinessDatabase() @@ -128,6 +164,12 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { } @Override + /** + * 获取部门填写人信息 + * + * @param form 部门填写人分页表单 + * @return 部门填写人分页查询结果 + */ public PageQueryResult getDeptFilled(DeptResponsiblePageForm form) { return bd.getBusinessDatabase() .viewQueryMode(true).view("getResponsibleAndName") @@ -136,6 +178,12 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { } @Override + /** + * 判断用户是否为责任人 + * + * @param userId 用户ID + * @return 是否为责任人 + */ public Boolean isResponsiblePerson(String userId) { List responsiblePeople = bd.getBusinessDatabase() .eq("userId", userId) @@ -144,6 +192,11 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { } @Override + /** + * 获取所有子系统 + * + * @return 所有子系统的集合 + */ public Set getAllSubsystem() { List templates = bd .getBusinessDatabase() @@ -154,6 +207,13 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { } @Override + /** + * 根据部门和子系统获取用户 + * + * @param dept 部门名称 + * @param subsystem 子系统名称 + * @return 部门用户的ArrayList + */ public ArrayList getUserBydepartment(String dept,String subsystem) { if (ObjectUtils.isEmpty(dept)) { return null; @@ -176,6 +236,11 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { } @Override + /** + * 导出责任人信息 + * + * @param response HTTP响应对象 + */ public void exportPerson(HttpServletResponse response) { String fileName = "部门责任人_" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm-ss")); @@ -205,6 +270,11 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { } @Override + /** + * 导出空责任人模板 + * + * @param response HTTP响应对象 + */ public void exportVoidPerson(HttpServletResponse response) { String fileName = "部门责任人导入模板_" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm-ss")); @@ -231,6 +301,13 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { } @Override + /** + * 导入责任人信息 + * + * @param file 上传的文件 + * @param userId 用户ID + * @return 操作响应结果 + */ public MyResponse importPerson(MultipartFile file, String userId) { // 验证文件是否为工作表 if (file == null || file.isEmpty()) { @@ -261,6 +338,14 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { } @Override + /** + * 根据部门和用户名获取用户视图 + * + * @param department 部门名称 + * @param userAccount 用户账号 + * @param username 用户名 + * @return 用户视图对象 + */ public XdapUserView getUserByDeptAndName(String department, String userAccount, String username) { XdapUserView xdapUserView = new XdapUserView(); xdapUserView.setDepartmentId( @@ -279,6 +364,12 @@ public class ResponsiblePersonServiceImpl implements ResponsiblePersonService { @Override @Transactional + /** + * 导入所有责任人信息 + * + * @param cachedDataList 缓存的数据列表 + * @param problems 问题收集对象 + */ public void importAllPerson(List cachedDataList, MyResponse problems) { cachedDataList.forEach(item -> { List responsiblePeople = bd.getBusinessDatabase() diff --git a/src/main/java/com/xdap/self_development/service/impl/TcDataQueryServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/TcDataQueryServiceImpl.java index be4b185..7192e77 100644 --- a/src/main/java/com/xdap/self_development/service/impl/TcDataQueryServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/TcDataQueryServiceImpl.java @@ -32,6 +32,12 @@ import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; +/** + * TC数据查询服务实现类 + * + * @version 1.0 + * @since 2025 + */ @Service @Slf4j public class TcDataQueryServiceImpl implements TcDataQueryService { @@ -57,6 +63,14 @@ public class TcDataQueryServiceImpl implements TcDataQueryService { //产品编号(状态代号) = 状态机 @Override + /** + * 根据产品编号查询TC数据 + * + * @param productNumber 产品编号 + * @param partsName 部件名称 + * @param parameterName 参数名称 + * @return 分类属性映射 + */ public HashMap> tcDataSelectByC(String productNumber, String partsName, String parameterName) { EnginePartsCollectionPojo enginePartsCollection = bd.getTCDatabase() @@ -77,6 +91,12 @@ public class TcDataQueryServiceImpl implements TcDataQueryService { //通过状态代号(产品编号) @Override + /** + * 根据产品编号查询所有TC数据 + * + * @param engineModelPojo 引擎模型对象 + * @return 引擎参数详情列表 + */ public ArrayList tcDataSelectAllByproductNumber(DataEntryEngineModelPojo engineModelPojo) { String productNumber = engineModelPojo.getProductNumber(); HashMap> stringListHashMap = new HashMap<>(); @@ -134,12 +154,24 @@ public class TcDataQueryServiceImpl implements TcDataQueryService { } @Override + /** + * 根据部件名称查询所有TC数据 + * + * @param analysisRequest 分析请求对象 + * @return 引擎参数详情映射 + */ public Map> tcDataSelectAllByPartsName(AnalysisRequest analysisRequest) { return tcDataSelectAllByPartsNameFunctionOptimized(analysisRequest); } @Override + /** + * 根据部件名称查询所有TC数据(备份方法) + * + * @param analysisRequest 分析请求对象 + * @return 引擎参数详情映射 + */ public Map> tcDataSelectAllByPartsNameBack(AnalysisRequest analysisRequest) { return tcDataSelectAllByPartsNameFunction(analysisRequest); @@ -369,6 +401,11 @@ public class TcDataQueryServiceImpl implements TcDataQueryService { } @Override + /** + * 导出Excel A格式 + * + * @param response HTTP响应对象 + */ public void excelExportA(HttpServletResponse response) { try { @@ -397,6 +434,11 @@ public class TcDataQueryServiceImpl implements TcDataQueryService { } @Override + /** + * 导出Excel B格式 + * + * @param response HTTP响应对象 + */ public void excelExportB(HttpServletResponse response) { try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build()) { ArrayList enginePartsCollections = new ArrayList<>(); @@ -419,6 +461,12 @@ public class TcDataQueryServiceImpl implements TcDataQueryService { } @Override + /** + * 模型对比导出 + * + * @param request 模型对比导出请求对象 + * @param response HTTP响应对象 + */ public void modelComparisonExport(ModelComparisonExportRequest request, HttpServletResponse response) { List models = request.getModelIds(); String userID = request.getUserID(); @@ -616,6 +664,12 @@ public class TcDataQueryServiceImpl implements TcDataQueryService { } @Override + /** + * 根据版本查询TC数据 + * + * @param analysisRequest 版本分析请求对象 + * @return 引擎参数详情映射 + */ public Map> tcDataSelectByVersion(AnalysisVerRequest analysisRequest) { // List allPojos = new ArrayList<>(); List parameters = engineParamDetailService.selectAllAndTcByNewVersion(); @@ -758,6 +812,12 @@ public class TcDataQueryServiceImpl implements TcDataQueryService { } @Override + /** + * 批量根据产品编号查询所有TC数据 + * + * @param engineModelPojos 引擎模型对象列表 + * @return 引擎参数详情列表 + */ public List tcDataSelectAllByproductNumberBatch(List engineModelPojos) { // 收集所有 productNumber Set productNumbers = engineModelPojos.stream() diff --git a/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java index c36a883..f8d5143 100644 --- a/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java @@ -28,6 +28,12 @@ import java.util.concurrent.TimeUnit; import java.util.function.Function; import java.util.stream.Collectors; +/** + * 模板审批服务实现类 + * + * @version 1.0 + * @since 2025 + */ @Service @Slf4j public class TemplateApprovalServiceImpl implements TemplateApprovalService { @@ -47,6 +53,12 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { @Override @Transactional + /** + * 开始审批流程 + * + * @param request 启动审批请求对象 + * @return 审批流程ID + */ public String startApproval(StartApprovalRequest request) { // 验证能否发起审批 TemplatePojo template = bd.getBusinessDatabase() @@ -195,6 +207,12 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { @Override @Transactional + /** + * 继续审批流程 + * + * @param flowId 流程ID + * @param userId 用户ID + */ public void continueApproval(String flowId, String userId) { ApprovalFlowPojo flow = bd.getBusinessDatabase() .eq("id", flowId) @@ -276,6 +294,12 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { @Override @Transactional + /** + * 直送审批 + * + * @param templateId 模板ID + * @param userId 用户ID + */ public void directSendingApproval(String templateId, String userId) { // 获取模板 TemplatePojo template = bd.getBusinessDatabase() @@ -365,6 +389,12 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { // 查询所有流程 @Override + /** + * 获取审批列表 + * + * @param form 审批列表表单 + * @return 待办和模板视图分页结果 + */ public PageQueryResult getApprovalList(ApprovalListForm form) { PageQueryResult result = bd.getBusinessDatabase() .viewQueryMode(true) @@ -396,6 +426,11 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { @Override @Transactional + /** + * 处理审批 + * + * @param request 审批处理请求对象 + */ public void handleApproval(HandleApprovalRequest request) { // 验证流程状态和用户权限 ApprovalFlowPojo flow = bd.getBusinessDatabase() @@ -455,6 +490,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { .toJavaList(String.class).contains(userId); } + @Override public void processApprovalLogic( ApprovalFlowPojo flow, HandleApprovalRequest request, @@ -519,6 +555,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { myself.processNextNode(flow, currentNode, request.getUserId()); } + @Override public void cancelProcess( ApprovalFlowPojo flow, ApprovalConfigPojo node, @@ -574,6 +611,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } // 处理下一节点流转 + @Override public void processNextNode( ApprovalFlowPojo flow, ApprovalConfigPojo currentNode, @@ -628,6 +666,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } // 检查节点是否完成 + @Override public boolean checkNodeComplete(ApprovalFlowPojo flow, ApprovalConfigPojo node) { ApprovalRecordPojo lastedRecord = bd.getBusinessDatabase() .eq("flow_id", flow.getId()) @@ -645,6 +684,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } } + @Override public void addNodeTodo( ApprovalFlowPojo flow, ApprovalConfigPojo node, @@ -684,6 +724,12 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } @Override + /** + * 获取退回节点 + * + * @param flowId 流程ID + * @return 退回节点列表 + */ public List getReturnNodes(String flowId) { ApprovalFlowPojo flow = bd.getBusinessDatabase() .eq("id", flowId) @@ -699,6 +745,12 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } @Override + /** + * 获取审批用户 + * + * @param templateId 模板ID + * @return 审批节点DTO + */ public ApprovalNodesDTO getApprovalUsers(String templateId) { ApprovalNodesDTO nodes = new ApprovalNodesDTO(); nodes.setProcessTitle(""); @@ -743,6 +795,12 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } @Override + /** + * 获取是否直送 + * + * @param flowId 流程ID + * @return 是否直送 + */ public boolean getIsDirect(String flowId) { ApprovalFlowPojo flow = bd.getBusinessDatabase() .eq("id", flowId) @@ -757,6 +815,12 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { @Override @Transactional + /** + * 更新流程标题 + * + * @param flowId 流程ID + * @param title 流程标题 + */ public void updateFlowTitle(String flowId, String title) { ApprovalFlowPojo flow = bd.getBusinessDatabase() .eq("id", flowId) @@ -791,6 +855,12 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } @Override + /** + * 获取可编辑节点 + * + * @param flowId 流程ID + * @return 可编辑节点列表 + */ public List getEditableNodes(String flowId) { ApprovalFlowPojo flow = bd.getBusinessDatabase() .eq("id", flowId) @@ -815,6 +885,11 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { @Override @Transactional + /** + * 更新节点 + * + * @param form 更新节点表单 + */ public void updateNode(UpdateNodeForm form) { // 检查流程 ApprovalFlowPojo flow = bd.getBusinessDatabase() @@ -837,6 +912,11 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } @Override + /** + * 更新节点配置 + * + * @param form 更新节点表单 + */ public void updateNodeConfig(UpdateNodeForm form) { // 获取可更新流程节点名称 List nodes = bd.getBusinessDatabase() @@ -929,6 +1009,14 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } @Override + /** + * 更新任务 + * + * @param flow 审批流程POJO + * @param status 状态 + * @param enableReturn 是否启用退回 + * @param currentNode 当前节点 + */ public void updateTasks(ApprovalFlowPojo flow, String status, Integer enableReturn, ApprovalConfigPojo currentNode) { // 更新已办和发起的节点状态 bd.getBusinessDatabase() @@ -945,6 +1033,12 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } @Override + /** + * 获取模板变更 + * + * @param form 审批和参数表单 + * @return 模板变更视图分页结果 + */ public PageQueryResult getTemplateChanges(ApprovalAndParameterForm form) { TemplatePojo template = bd.getBusinessDatabase() .eq("id", form.getTemplateId()) @@ -979,6 +1073,12 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } @Override + /** + * 获取审批流程 + * + * @param form 审批流程表单 + * @return 审批流程节点视图 + */ public ApprovalFlowNodeView getApprovalProcess(ApprovalFlowForm form) { ApprovalFlowNodeView flowNodeView = new ApprovalFlowNodeView(); ApprovalFlowPojo approvalFlow = bd.getBusinessDatabase() diff --git a/src/main/java/com/xdap/self_development/service/impl/TemplateServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/TemplateServiceImpl.java index f57333d..816e166 100644 --- a/src/main/java/com/xdap/self_development/service/impl/TemplateServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/TemplateServiceImpl.java @@ -33,6 +33,12 @@ import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; +/** + * 模板服务实现类 + * + * @version 1.0 + * @since 2025 + */ @Service @Slf4j public class TemplateServiceImpl implements TemplateService { @@ -40,6 +46,12 @@ public class TemplateServiceImpl implements TemplateService { private BusinessDatabase bd; @Override + /** + * 根据条件获取模板 + * + * @param form 模板页面表单 + * @return 模板分页查询结果 + */ public PageQueryResult getTemplateByCondition(TemplatePageForm form) { return bd.getBusinessDatabase() .viewQueryMode(true) @@ -49,6 +61,11 @@ public class TemplateServiceImpl implements TemplateService { } @Override + /** + * 插入模板 + * + * @param form 插入模板表单 + */ public void insertTemplate(InsertTemplateForm form) { TemplatePojo template = bd.getBusinessDatabase() .viewQueryMode(true) @@ -72,6 +89,11 @@ public class TemplateServiceImpl implements TemplateService { @Override @Transactional + /** + * 更新模板 + * + * @param form 更新模板表单 + */ public void updateTemplate(UpdateTemplateForm form) { TemplatePojo template = bd.getBusinessDatabase() .viewQueryMode(true) @@ -134,6 +156,14 @@ public class TemplateServiceImpl implements TemplateService { @Override @Transactional + /** + * 导入模板 + * + * @param file 模板文件 + * @param templateRowId 模板行ID + * @param userId 用户ID + * @return 操作响应结果 + */ public MyResponse importTemplate(MultipartFile file, String templateRowId, String userId) { // 验证文件是否为工作表 if (file == null || file.isEmpty()) { @@ -164,6 +194,12 @@ public class TemplateServiceImpl implements TemplateService { } @Override + /** + * 导出模板 + * + * @param form 导出模板表单 + * @param response HTTP响应对象 + */ public void exportTemplate(ExportTemplateForm form, HttpServletResponse response) { TemplatePojo templateDB = bd.getBusinessDatabase() .rowid("id", form.getTemplateRowId()) @@ -206,6 +242,12 @@ public class TemplateServiceImpl implements TemplateService { } @Override + /** + * 获取模板版本 + * + * @param form 模板行ID表单 + * @return 模板版本列表 + */ public List getTemplateVersion(TemplateRowIdForm form) { TemplatePojo template = bd.getBusinessDatabase() .rowid("id", form.getTemplateRowId()) @@ -217,6 +259,12 @@ public class TemplateServiceImpl implements TemplateService { } @Override + /** + * 根据ID获取模板 + * + * @param templateId 模板ID + * @return 模板POJO对象 + */ public TemplatePojo getTemplateById(String templateId) { return bd.getBusinessDatabase() .eq("id", templateId) @@ -224,6 +272,11 @@ public class TemplateServiceImpl implements TemplateService { } @Override + /** + * 删除模板 + * + * @param templateId 模板ID + */ public void deleteTemplate(String templateId) { TemplatePojo template = bd.getBusinessDatabase() .eq("id", templateId) @@ -240,6 +293,15 @@ public class TemplateServiceImpl implements TemplateService { @Override @Transactional + /** + * 处理表格数据 + * + * @param dataList 参数数据列表 + * @param sheetName 表格名称 + * @param templateRowId 模板行ID + * @param createBy 创建者 + * @param problems 问题收集对象 + */ public void processSheetData(List dataList, String sheetName, String templateRowId, String createBy, MyResponse problems) { if (dataList.isEmpty()) { @@ -465,80 +527,6 @@ public class TemplateServiceImpl implements TemplateService { return includeColumnFieldNames; } - private void insertAndUpdateParameters( - List dataList, TemplatePojo lastTemplate - ) { - // 获取原模板参数 - List parameters = bd.getBusinessDatabase().viewQueryMode(true) - .view("selectParametersByTemplateId") - .setVar("template_id", lastTemplate.getId()) - .doQuery(ParameterPojo.class); - - // 筛选变更和新增的参数 - ProcessResult processResult = processParameters(parameters, dataList); - List toAdd = processResult.getToAdd(); - List toUpdate = processResult.getToUpdate(); - - if (!toAdd.isEmpty()) { - // 保存参数 - bd.getBusinessDatabase().doBatchInsert(toAdd); - List relations = new ArrayList<>(); - - // 保存关联关系 - toAdd.forEach(parameter -> { - TemplateAndParameterPojo relation = new TemplateAndParameterPojo(); - RevisionRecordPojo record = new RevisionRecordPojo(); - relation.setTemplateId(lastTemplate.getId()); - relation.setParameterId(parameter.getId()); - relations.add(relation); - }); - bd.getBusinessDatabase().doBatchInsert(relations); - - // 保存修改记录 - List revisionRecords = toAdd.stream() - .map(parameter -> { - return new RevisionRecordPojo( - lastTemplate.getTemplateName(), - lastTemplate.getVersion(), - parameter.getParameterNumber(), - "新增参数", - lastTemplate.getId(), - null, - Timestamp.valueOf(LocalDateTime.now()), - parameter.getId(), - lastTemplate.getReturnNum() - ); - }) - .collect(Collectors.toList()); - bd.getBusinessDatabase().doBatchInsert(revisionRecords); - } - - if (!toUpdate.isEmpty()) { - - toUpdate.forEach(parameterChange -> { - // 更新参数 - parameterChange.getUpdated().setId(parameterChange.getOriginal().getId()); - bd.getBusinessDatabase() - .eq("id", parameterChange.getUpdated().getId()) - .doUpdate(parameterChange.getUpdated()); - - // 保存修改记录 - RevisionRecordPojo record = new RevisionRecordPojo( - lastTemplate.getTemplateName(), - lastTemplate.getVersion(), - parameterChange.getUpdated().getParameterNumber(), - parameterChange.getChangeDescription(), - lastTemplate.getId(), - parameterChange.getOriginal().getId(), - Timestamp.valueOf(LocalDateTime.now()), - parameterChange.getUpdated().getId(), - lastTemplate.getReturnNum() - ); - bd.getBusinessDatabase().doInsert(record); - }); - } - } - private String getParameterChange(ParameterPojo originalParameter, ParameterPojo updatedParameter) { return handleParameterChange("参数名", originalParameter.getParameterName(), updatedParameter.getParameterName()) + handleParameterChange("参数类型", originalParameter.getParameterType(), updatedParameter.getParameterType()) + @@ -570,69 +558,13 @@ public class TemplateServiceImpl implements TemplateService { return sb.toString(); } - @Getter - public static class ProcessResult { - private List toAdd; - private List toUpdate; - - public ProcessResult(List toAdd, List toUpdate) { - this.toAdd = toAdd; - this.toUpdate = toUpdate; - } - - } - - @Getter - public static class ParameterChange { - private ParameterPojo original; - private ParameterPojo updated; - private String changeDescription; - - public ParameterChange(ParameterPojo original, ParameterPojo updated, String changeDescription) { - this.original = original; - this.updated = updated; - this.changeDescription = changeDescription; - } - - } - - public ProcessResult processParameters(List oldList, List newList) { - // 过滤掉newList中number为空的项 - List validNewList = newList.stream() - .filter(p -> p.getParameterNumber() != null - && !p.getParameterNumber().toString().trim().isEmpty()) - .collect(Collectors.toList()); - - List toAdd = new ArrayList<>(); - List toUpdate = new ArrayList<>(); - - // 创建旧列表中number到Parameter的映射 - Map oldMap = oldList.stream() - .filter(p -> p.getParameterNumber() != null - && !p.getParameterNumber().toString().trim().isEmpty()) - .collect(Collectors.toMap( - ParameterPojo::getParameterNumber, - p -> p, - (existing, replacement) -> existing)); - - // 处理新列表中的每个参数 - for (ParameterPojo newParam : validNewList) { - Integer number = newParam.getParameterNumber(); - - if (oldMap.containsKey(number)) { - ParameterPojo oldParam = oldMap.get(number); - String changeDescription = getParameterChange(oldParam, newParam); - ParameterChange change = new ParameterChange(oldParam, newParam, changeDescription); - toUpdate.add(change); - oldMap.remove(number); - } else { - toAdd.add(newParam); - } - } - return new ProcessResult(toAdd, toUpdate); - } @Override + /** + * 导出多个模板 + * + * @param response HTTP响应对象 + */ public void exportMultipleTemplates(HttpServletResponse response) { try { String fileName = "全部模板_" + diff --git a/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java index 55016e7..3d0190d 100644 --- a/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java @@ -32,12 +32,10 @@ import java.util.function.Function; import java.util.stream.Collectors; /** - *

- * 待办事项表 服务实现类 - *

+ * 待办任务服务实现类 * - * @author Lys111 - * @since 2025-11-18 + * @version 1.0 + * @since 2025 */ @Service public class TodoTaskServiceImpl implements TodoTaskService { @@ -69,12 +67,23 @@ public class TodoTaskServiceImpl implements TodoTaskService { private static final String dateFormat = "yyyy-MM-dd HH:mm:ss"; @Override + /** + * 批量插入待办任务 + * + * @param taskPojos 待办任务POJO列表 + */ public void batchInsert(List taskPojos) { sw.buildFromDatasource("xdap_app_223770822127386625") .doBatchInsert(taskPojos); } @Override + /** + * 分页查询发起任务 + * + * @param taskRequest 待办任务请求对象 + * @return 发起任务分页结果DTO + */ public PageResultDTO selectByPage(TodoTaskRequest taskRequest) { if (ObjectUtils.isEmpty(taskRequest.getCreatedById())) { throw new RuntimeException("请传入发起人"); @@ -117,6 +126,12 @@ public class TodoTaskServiceImpl implements TodoTaskService { } @Override + /** + * 分页查询责任人待办任务 + * + * @param todoTaskRequest 待办任务请求对象 + * @return 待办任务分页结果DTO + */ public PageResultDTO selectByresPersonTodoPage(TodoTaskRequest todoTaskRequest) { PageResultDTO pageResultDTO = new PageResultDTO<>(); @@ -157,6 +172,12 @@ public class TodoTaskServiceImpl implements TodoTaskService { } @Override + /** + * 分页查询责任人已办任务 + * + * @param taskRequest 待办任务请求对象 + * @return 已办任务分页结果DTO + */ public PageResultDTO selectByresPersonCompletedPage(TodoTaskRequest taskRequest) { PageResultDTO pageResultDTO = new PageResultDTO<>(); @@ -211,6 +232,12 @@ public class TodoTaskServiceImpl implements TodoTaskService { } @Override + /** + * 创建责任人任务 + * + * @param paramDetailPojosAll 引擎参数详情DTO列表 + * @param userID 用户ID + */ public void createResPerson(List paramDetailPojosAll, String userID) { if (ObjectUtils.isEmpty(paramDetailPojosAll)) { @@ -295,6 +322,11 @@ public class TodoTaskServiceImpl implements TodoTaskService { @Override @Transactional + /** + * 待办任务退回 + * + * @param todoReturnRequest 待办退回请求对象 + */ public void todoReturn(TodoReturnRequest todoReturnRequest) { String todoTaskId = todoReturnRequest.getTodoTaskId(); if (ObjectUtils.isEmpty(todoTaskId)) { @@ -361,6 +393,12 @@ public class TodoTaskServiceImpl implements TodoTaskService { } @Override + /** + * 返回云柴待办任务 + * + * @param ycGetTodoTaskRequest 云柴获取待办任务请求对象 + * @return 云柴待办任务结果DTO列表 + */ public List returnTodoTask(YcGetTodoTaskRequest ycGetTodoTaskRequest) { String username = ycGetTodoTaskRequest.getUsername(); if (ObjectUtils.isEmpty(username)) { @@ -390,11 +428,23 @@ public class TodoTaskServiceImpl implements TodoTaskService { } @Override + /** + * 返回已办任务 + * + * @param ycGetTodoTaskRequest 云柴获取待办任务请求对象 + * @return 云柴已办任务通用结果DTO分页结果 + */ public PageResultDTO returnCompleted(YcGetTodoTaskRequest ycGetTodoTaskRequest) { return commonTodoTask(ycGetTodoTaskRequest, "已办"); } @Override + /** + * 返回发起任务 + * + * @param ycGetTodoTaskRequest 云柴获取待办任务请求对象 + * @return 云柴发起任务通用结果DTO分页结果 + */ public PageResultDTO returnInitiator(YcGetTodoTaskRequest ycGetTodoTaskRequest) { return commonTodoTask(ycGetTodoTaskRequest, "发起"); } @@ -492,11 +542,21 @@ public class TodoTaskServiceImpl implements TodoTaskService { @Override @Transactional // 发生任何异常都回滚 + /** + * 批量插入待办任务 + * + * @param todoTaskPojos 待办任务POJO列表 + */ public void batchInsertTodoTask(List todoTaskPojos) { sw.buildFromDatasource("xdap_app_223770822127386625").doBatchInsert(todoTaskPojos); } @Override @Transactional // 发生任何异常都回滚 + /** + * 批量插入发起任务 + * + * @param taskPojos 发起任务POJO列表 + */ public void batchInsertInitiatedTask(List taskPojos) { sw.buildFromDatasource("xdap_app_223770822127386625").doBatchInsert(taskPojos); } diff --git a/src/main/java/com/xdap/self_development/service/impl/XdapDeptUsersServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/XdapDeptUsersServiceImpl.java index 2ea6450..83a63c2 100644 --- a/src/main/java/com/xdap/self_development/service/impl/XdapDeptUsersServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/XdapDeptUsersServiceImpl.java @@ -15,16 +15,15 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; /** - *

- * 部门成员关系表 服务实现类 - *

+ * XDAP部门用户服务实现类 * - * @author Lys111 - * @since 2025-11-19 + * @version 1.0 + * @since 2025 */ @Slf4j @Service @@ -37,6 +36,12 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService { private RuntimeDatasourceService runtimeDatasourceService; @Override + /** + * 根据ID查询部门 + * + * @param deptId 部门ID + * @return 部门对象 + */ public XdapDepartments selectDeptByID(String deptId) { if (ObjectUtils.isEmpty(deptId)) { return null; @@ -51,6 +56,12 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService { } @Override + /** + * 根据名称查询部门 + * + * @param deptName 部门名称 + * @return 部门对象 + */ public XdapDepartments selectDeptByName(String deptName) { if (ObjectUtils.isEmpty(deptName)) { return null; @@ -65,6 +76,12 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService { } @Override + /** + * 根据部门名称查询用户 + * + * @param deptName 部门名称 + * @return 用户列表 + */ public List selectUserByName(String deptName) { XdapDepartments xdapDepartmentsPojo = selectDeptByName(deptName); List xdapUsersPojos = new ArrayList<>(); @@ -90,17 +107,29 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService { } @Override + /** + * 根据人员姓名查询用户 + * + * @param personName 人员姓名 + * @return 用户列表 + */ public List selectUserByPersonName(String personName) { if (ObjectUtils.isEmpty(personName)) { - return null; + return Collections.emptyList(); } - List departmentsPojos = runtimeDatasourceService.buildTenantMpaasQuery("xdap_app_223770822127386625") + return runtimeDatasourceService.buildTenantMpaasQuery("xdap_app_223770822127386625") .eq("username", personName) .doQuery(XdapUsers.class); - return departmentsPojos; } @Override + /** + * 根据用户列表和部门名称查询用户 + * + * @param xdapUsersPojos 用户对象列表 + * @param dpName 部门对象 + * @return 匹配的用户对象 + */ public XdapUsers selectUserByUserListAndDeptName(List xdapUsersPojos, XdapDepartments dpName) { if (ObjectUtils.isNotEmpty(xdapUsersPojos) && ObjectUtils.isNotEmpty(dpName)) { @@ -128,6 +157,12 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService { } @Override + /** + * 根据ID查询用户 + * + * @param userId 用户ID + * @return 用户对象 + */ public XdapUsers selectUserByID(String userId) { if (ObjectUtils.isEmpty(userId)) { @@ -143,6 +178,12 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService { } @Override + /** + * 根据用户编码查询用户 + * + * @param userCode 用户编码 + * @return 用户对象 + */ public XdapUsers selectUserByCode(String userCode) { if (ObjectUtils.isEmpty(userCode)) {