From 4c140a47f9a798832b71a8913a84e8045211b3f7 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Sat, 17 Jan 2026 14:01:21 +0800
Subject: [PATCH] 工单新增

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdWorkOrderServiceImpl.java |   49 +++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 43 insertions(+), 6 deletions(-)

diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdWorkOrderServiceImpl.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdWorkOrderServiceImpl.java
index 8c0e311..8ce6e02 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdWorkOrderServiceImpl.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdWorkOrderServiceImpl.java
@@ -16,16 +16,24 @@
  */
 package org.sxkj.gd.workorder.service.impl;
 
-import org.sxkj.gd.workorder.entity.GdWorkOrderEntity;
-import org.sxkj.gd.workorder.vo.GdWorkOrderVO;
-import org.sxkj.gd.workorder.excel.GdWorkOrderExcel;
-import org.sxkj.gd.workorder.mapper.GdWorkOrderMapper;
-import org.sxkj.gd.workorder.service.IGdWorkOrderService;
-import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.commons.lang3.StringUtils;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springframework.stereotype.Service;
+import org.sxkj.common.utils.GeomUtils;
+import org.sxkj.common.utils.OrderNumUtils;
+import org.sxkj.gd.workorder.entity.GdWorkOrderEntity;
+import org.sxkj.gd.workorder.excel.GdWorkOrderExcel;
+import org.sxkj.gd.workorder.mapper.GdWorkOrderMapper;
+import org.sxkj.gd.workorder.param.WorkOrderParam;
+import org.sxkj.gd.workorder.service.IGdWorkOrderService;
+import org.sxkj.gd.workorder.vo.GdWorkOrderVO;
+
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 工单任务表 服务实现类
@@ -51,4 +59,33 @@
 		return gdWorkOrderList;
 	}
 
+	/**
+	 * 保存或更新工单任务表
+	 * @param workOrderParam
+	 * @return
+	 */
+	@Override
+	public boolean saveOrUpdateWorkOrder(WorkOrderParam workOrderParam) {
+		GdWorkOrderEntity entity = Objects.requireNonNull(BeanUtil.copy(workOrderParam, GdWorkOrderEntity.class));
+
+		// 验证并格式化几何数据
+		String geom = entity.getGeom();
+		String validatedGeom = GeomUtils.validateAndFormatGeom(geom);
+		if (validatedGeom == null) {
+			return false;
+		}
+
+		// 设置验证后的几何数据
+		entity.setGeom(validatedGeom);
+
+		// 生成工单编号
+		if (StringUtils.isBlank(entity.getWorkOrderCode())) {
+			// 使用时间戳生成唯一工单编号
+			String timestamp = OrderNumUtils.initOrderNum("gdTicketInfo");
+			entity.setWorkOrderCode("GD" + timestamp);
+		}
+		entity.setCreateUser(AuthUtil.getUserId());
+		entity.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
+		return saveOrUpdate(entity);
+	}
 }

--
Gitblit v1.9.3