From 1eb6f4824c270de1a3d0bf766d44f1abb2c7f55d Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期四, 24 四月 2025 17:30:07 +0800
Subject: [PATCH] 巡检任务  设备维修新增是否生成工单字段 及 生成工单

---
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java
index 2f05f68..93c1b16 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/WorkOrderServiceImpl.java
@@ -1,9 +1,18 @@
 package com.by4cloud.platformx.device.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.device.constant.CommonStatusContant;
+import com.by4cloud.platformx.device.constant.MaxSizeContant;
+import com.by4cloud.platformx.device.entity.DeviceInventory;
+import com.by4cloud.platformx.device.entity.DeviceRepair;
 import com.by4cloud.platformx.device.entity.WorkOrder;
+import com.by4cloud.platformx.device.mapper.DeviceInventoryMapper;
+import com.by4cloud.platformx.device.mapper.DeviceRepairMapper;
 import com.by4cloud.platformx.device.mapper.WorkOrderMapper;
+import com.by4cloud.platformx.device.service.JcMaxSizeService;
 import com.by4cloud.platformx.device.service.WorkOrderService;
+import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 /**
  * 宸ュ崟
@@ -12,5 +21,44 @@
  * @date 2025-04-22 16:01:37
  */
 @Service
+@AllArgsConstructor
 public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements WorkOrderService {
+
+	private final DeviceRepairMapper repairMapper;
+	private final DeviceInventoryMapper inventoryMapper;
+	private final JcMaxSizeService maxSizeService;
+
+	@Override
+	public R updateByIdNew(WorkOrder workOrder) {
+		//宸ュ崟澶勭悊
+		if (workOrder.getWoStatus()==2){
+			workOrder.setWoStatus(CommonStatusContant.WORK_ORDER_STATUS_CLOSING);
+		}
+		//浜哄憳鍒嗛厤
+		if (workOrder.getWoStatus()==1&&workOrder.getHandleUserId()!=null){
+			workOrder.setWoStatus(CommonStatusContant.WORK_ORDER_STATUS_HANDLING);
+		}
+
+		baseMapper.updateById(workOrder);
+		//鏇存柊缁翠慨鐘舵��
+		if (workOrder.getRepairId()!=null){
+			DeviceRepair repair = repairMapper.selectById(workOrder.getRepairId());
+			repair.setStatus(CommonStatusContant.DEVICE_REPAIR_STATUS_COMPLETE);
+			repairMapper.updateById(repair);
+			//鏇存柊搴撳瓨鐘舵��
+			DeviceInventory inventory = inventoryMapper.selectById(repair.getInventoryId());
+			inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE);
+			inventoryMapper.updateById(inventory);
+		}
+
+		return R.ok();
+	}
+
+	@Override
+	public R saveNew(WorkOrder workOrder) {
+		workOrder.setWoCode(maxSizeService.nextNo(MaxSizeContant.DEVICE_PURCHASE_CODE));
+		workOrder.setWoStatus(CommonStatusContant.WORK_ORDER_STATUS_CLOSING);
+		baseMapper.insert(workOrder);
+		return R.ok();
+	}
 }
\ No newline at end of file

--
Gitblit v1.9.1