From 7894ec4aafc42f90932aca9215405ed03a54edd9 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期五, 13 六月 2025 14:09:02 +0800
Subject: [PATCH] 工具管理-DNC刀具写入刀具准备单接口

---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/PreparationOrderController.java    |    9 +++++++++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/PreparationOrderDetail.java            |    2 ++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IPreparationOrderService.java         |    2 ++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/PreparationOrderServiceImpl.java |   18 +++++++++++++++++-
 4 files changed, 30 insertions(+), 1 deletions(-)

diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/PreparationOrderController.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/PreparationOrderController.java
index 0a84ad8..b4b0f7c 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/PreparationOrderController.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/PreparationOrderController.java
@@ -94,6 +94,15 @@
         return Result.OK("娣诲姞鎴愬姛锛�");
     }
 
+    @AutoLog(value = "鍒�鍏峰噯澶囧崟-浠嶥NC绯荤粺鍐欏叆鍒�鍏峰噯澶囧崟鍙婃槑缁�")
+    @ApiOperation(value="鍒�鍏峰噯澶囧崟-浠嶥NC绯荤粺鍐欏叆鍒�鍏峰噯澶囧崟鍙婃槑缁�", notes="鍒�鍏峰噯澶囧崟-浠嶥NC绯荤粺鍐欏叆鍒�鍏峰噯澶囧崟鍙婃槑缁�")
+    //@RequiresPermissions("org.jeecg.modules:tms_preparation_order:add")
+    @PostMapping(value = "/addPreparationOrderFromDnc")
+    public Result<String> addPreparationOrderFromDnc(@RequestBody PreparationOrderAndDetailDto preparationOrderAndDetailDto) {
+        preparationOrderService.addPreparationOrderFromDnc(preparationOrderAndDetailDto);
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
     /**
      *  缂栬緫
      * @param preparationOrder
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/PreparationOrderDetail.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/PreparationOrderDetail.java
index 99f9164..b8f107d 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/PreparationOrderDetail.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/PreparationOrderDetail.java
@@ -7,6 +7,7 @@
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.experimental.Accessors;
 import org.jeecg.common.aspect.annotation.Dict;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
@@ -21,6 +22,7 @@
  * @Version: V1.0
  */
 @Data
+@Accessors(chain = true)
 @TableName("tms_preparation_order_detail")
 @ApiModel(value="tms_preparation_order_detail瀵硅薄", description="鍒�鍏峰噯澶囧崟鏄庣粏")
 public class PreparationOrderDetail implements Serializable {
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IPreparationOrderService.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IPreparationOrderService.java
index 3c2026c..9621ba9 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IPreparationOrderService.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IPreparationOrderService.java
@@ -40,4 +40,6 @@
 	List<String> convertToOutboundOrder(List<String> preparationOrderIds);
 
 	IPage<PreparationOrder> queryPageList(Page<PreparationOrder> page, Map<String, String[]> parameterMap);
+
+	void addPreparationOrderFromDnc(PreparationOrderAndDetailDto preparationOrderAndDetailDto);
 }
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/PreparationOrderServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/PreparationOrderServiceImpl.java
index 6bb0dfc..f696caf 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/PreparationOrderServiceImpl.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/PreparationOrderServiceImpl.java
@@ -220,7 +220,23 @@
 		return this.baseMapper.queryPageList(page, queryWrapper);
 	}
 
-	private LoginUser getCurrentUser() {
+    @Override
+	@Transactional(rollbackFor = Exception.class)
+    public void addPreparationOrderFromDnc(PreparationOrderAndDetailDto preparationOrderAndDetailDto) {
+		PreparationOrder preparationOrder = preparationOrderConvert.convert(preparationOrderAndDetailDto);
+		preparationOrder
+				.setId(null)
+				.setPreparationOrderNum(businessCodeRuleService.generateBusinessCodeSeq("ToolPreparationOrder"))
+				.setOrderStatus(PreparationOrderStatus.PENDING_AUDIT.getValue());
+		save(preparationOrder);
+		List<PreparationOrderDetail> preparationOrderDetailList = preparationOrderAndDetailDto.getPreparationOrderDetailList();
+		preparationOrderDetailList.forEach(item -> {
+			item.setId(null).setPreparationOrderId(preparationOrder.getId());
+		});
+		preparationOrderDetailService.saveBatch(preparationOrderDetailList);
+	}
+
+    private LoginUser getCurrentUser() {
 		// 鑾峰彇褰撳墠璁よ瘉鐨勭櫥褰曠敤鎴蜂俊鎭�
 		Subject currentUser = SecurityUtils.getSubject();
 		if (currentUser != null && currentUser.isAuthenticated()) {

--
Gitblit v1.9.3