From dc0fea5a5f163e6bfcf7cb887b741b13d86728c4 Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期三, 11 六月 2025 16:50:01 +0800 Subject: [PATCH] 增加dnc导入 --- blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java | 2 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/DncSendBackData.java | 25 ++++++ blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskAssignVO.java | 9 ++ blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java | 4 + blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncSendBackService.java | 94 +++++++++++++++++++++++ blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/DncSendBackController.java | 99 ++++++++++++++++++++++++ 6 files changed, 231 insertions(+), 2 deletions(-) diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java index 400cf3a..80e0881 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java @@ -33,7 +33,7 @@ * 鏂板 */ @PostMapping("/start") - @Operation(summary = "鍚姩娲惧伐娴佺▼", description = "鍚姩娲惧伐娴佺▼") + @Operation(summary = "浠诲姟璁″垝(娲惧伐娴佺▼)", description = "鍚姩娲惧伐娴佺▼") public R<Boolean> save(@RequestBody TaskAssignVO startVO) { dispatcher.start(startVO); return R.<Boolean>status(true); diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java index 9375533..a035595 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/StartDispatcher.java @@ -1,5 +1,6 @@ package org.springblade.mdm.flow.excution; +import io.swagger.v3.oas.annotations.media.Schema; import org.flowable.common.engine.impl.identity.Authentication; import org.flowable.engine.IdentityService; import org.flowable.engine.runtime.ProcessInstance; @@ -40,6 +41,9 @@ vars.put("craftEdition",startVO.getCraftEdition()); vars.put("planStartTime",startVO.getPlanStartTime()); + vars.put("drawingNo",startVO.getDrawingNo()); + vars.put("drawingNoEdition",startVO.getDrawingNoEdition()); + vars.put("planLockDays",startVO.getPlanLockDays()); //vars.put("producePlanId",startVO.getCraftEdition()); diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskAssignVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskAssignVO.java index 2a7c0c1..f16e423 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskAssignVO.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/TaskAssignVO.java @@ -6,8 +6,12 @@ import java.time.LocalDateTime; @Data -@Schema(description = "浠诲姟娲惧伐") +@Schema(description = "浠诲姟璁″垝") public class TaskAssignVO { + @Schema(description = "鍥惧彿") + private String drawingNo; + @Schema(description = "鍥惧彿鐗堟") + private String drawingNoEdition; @Schema(description = "宸ュ簭鍙�") private String processNo; @Schema(description = "宸ュ簭鍚嶇О") @@ -25,6 +29,9 @@ @Schema(description = "璁惧鍨嬪彿") private String machineMode; + @Schema(description = "璁″垝閿佸畾鏃堕棿(澶�)") + private Integer planLockDays; + @Schema(description = "璁″垝寮�宸ユ椂闂�") private LocalDateTime planStartTime; @Schema(description = "涓诲埗璁″垝琛↖D") diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/DncSendBackController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/DncSendBackController.java new file mode 100644 index 0000000..a9c0752 --- /dev/null +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/DncSendBackController.java @@ -0,0 +1,99 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + * <p> + * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + * <p> + * 1. This software is for development use only under a valid license + * from BladeX. + * <p> + * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + * <p> + * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + * <p> + * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + * <p> + * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + * <p> + * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.mdm.program.controller; + +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springblade.core.tenant.annotation.NonDS; +import org.springblade.core.tool.api.R; +import org.springblade.mdm.program.service.DncSendBackService; +import org.springblade.mdm.program.vo.DncSendBackData; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +/** + * 娴佺▼绠$悊鎺ュ彛 + * + * @author Chill + */ +@NonDS +@RestController +@RequestMapping("/program") +@AllArgsConstructor +@Tag(name = "DNC鍥炰紶绋嬪簭鎺ュ彛", description = "DNC鍥炰紶绋嬪簭鎺ュ彛") +@Slf4j +public class DncSendBackController { + + private final DncSendBackService dncSendBackService; + + /** + * dnc鍥炰紶鏂囦欢瀵煎叆 + * + * @param file 娴佺▼鏂囦欢 + */ + /* + @PostMapping("dnc-sendback-upload") + @ApiOperationSupport(order = 4) + @Operation(summary = "dnc鍥炰紶鏂囦欢瀵煎叆", description = "dnc鍥炰紶鏂囦欢瀵煎叆") + public R dncSendBackUpload(@RequestParam MultipartFile file) { + boolean temp = Objects.requireNonNull(file.getOriginalFilename()).endsWith("pkg"); + temp = true;//涓存椂鏀捐 + return R.data(Kv.create().set("name", file.getOriginalFilename()).set("success", temp)); + } + */ + /** + * 涓婁紶DNC鍥炰紶鏂囦欢 + * + * @param files 娴佺▼鏂囦欢 + * @param category 绫诲瀷 + */ + @PostMapping("dnc-sendback-upload") + @ApiOperationSupport(order = 1) + @Operation(summary = "涓婁紶DNC鍥炰紶鏂囦欢", description = "浼犲叆鏂囦欢") + public R<List<DncSendBackData>> dncSendBackUpload(@RequestParam MultipartFile file, + @RequestParam String category, + @RequestParam(required = false, defaultValue = "") String tenantIds) { + return R.data(dncSendBackService.dncSendBackUpload(file)); + } + + @PostMapping("dnc-sendback-accept") + @ApiOperationSupport(order = 2) + @Operation(summary = "DNC鍥炰紶鏁版嵁鍏ュ簱") + public R<Void> dncSendBackAccept(@RequestParam String ids) { + try { + dncSendBackService.dncFileAccept(ids); + }catch (Exception e){ + log.error("鍏ュ簱閿欒",e); + return R.fail(e.getMessage()); + } + return R.success(); + } +} diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncSendBackService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncSendBackService.java new file mode 100644 index 0000000..8fd16f6 --- /dev/null +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncSendBackService.java @@ -0,0 +1,94 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + * <p> + * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + * <p> + * 1. This software is for development use only under a valid license + * from BladeX. + * <p> + * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + * <p> + * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + * <p> + * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + * <p> + * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + * <p> + * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.mdm.program.service; + +import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.flowable.engine.*; +import org.springblade.core.tool.utils.FileUtil; +import org.springblade.mdm.program.vo.DncSendBackData; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +/** + * 宸ヤ綔娴佹湇鍔″疄鐜扮被 + * + * @author Chill + */ +@Slf4j +@Service +@AllArgsConstructor +public class DncSendBackService { + + private static final String XML_NAME = "xml"; + private static final Integer INT_1024 = 1024; + + private final ObjectMapper objectMapper; + private final RepositoryService repositoryService; + private final RuntimeService runtimeService; + private final HistoryService historyService; + private final TaskService taskService; + private final ProcessEngine processEngine; + + + public List<DncSendBackData> dncSendBackUpload(MultipartFile file) { + List<DncSendBackData> list = new ArrayList<>(); + try { + String fileName = file.getOriginalFilename(); + InputStream fileInputStream = file.getInputStream(); + byte[] bytes = FileUtil.copyToByteArray(fileInputStream); + //TODO 瑙f瀽涓哄垪琛ㄦ枃浠� + + DncSendBackData dt = new DncSendBackData(); + dt.setId(1L); + dt.setProgramName("test.nc"); + dt.setProgramNo("001"); + + list.add(dt); + + } catch (IOException e) { + log.error("涓婁紶dnc鏂囦欢澶辫触",e); + + } + + return list; + } + + /** + * 鍏ュ簱鍥炰紶鏂囦欢 + * @param ids + * @return + */ + public void dncFileAccept(String ids) { + + } +} diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/DncSendBackData.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/DncSendBackData.java new file mode 100644 index 0000000..f69d9a3 --- /dev/null +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/DncSendBackData.java @@ -0,0 +1,25 @@ +package org.springblade.mdm.program.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Setter +@Getter +@Schema(description = "DNC鍥炰紶鏁版嵁") +public class DncSendBackData { + @Schema(description = "鏂囦欢鏁版嵁搴撶紪鍙�") + private Long id; + @Schema(description = "绋嬪簭缂栧彿") + private String programNo; + @Schema(description = "绋嬪簭鍚嶇О") + private String programName; + + @Schema(description = "鍒拌揪鏃堕棿") + private LocalDateTime fileBackTime; + @Schema(description = "MD5鍊�") + private String md5; + +} -- Gitblit v1.9.3