吉安感知网项目-后端
linwei
2026-01-17 4c140a47f9a798832b71a8913a84e8045211b3f7
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);
   }
}