From 7473859cd3ee464fde053435f7c2da5aab71aa9b Mon Sep 17 00:00:00 2001
From: rain <1679827795@qq.com>
Date: Fri, 23 Jan 2026 10:02:14 +0800
Subject: [PATCH] 巡查任务报告及工单事件详情根据经纬度返回详细地址

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/WorkOrderStatusEnum.java |   87 +++++++++++++++++++++++++++++++++----------
 1 files changed, 66 insertions(+), 21 deletions(-)

diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/WorkOrderStatusEnum.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/WorkOrderStatusEnum.java
index 6558745..5d2924c 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/WorkOrderStatusEnum.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/WorkOrderStatusEnum.java
@@ -42,64 +42,74 @@
     /**
      * 草稿
      */
-    DRAFT(0, "草稿", null),
+    DRAFT("0", "草稿", null),
 
     /**
      * 发布中_接单中
      */
-    PUBLISHING_ACCEPTING(10, "发布中_接单中", "工单发布"),
+    PUBLISHING_ACCEPTING("10", "发布中_接单中", "工单发布"),
 
     /**
      * 发布中_拒绝接单
      */
-    PUBLISHING_REJECTING(11, "发布中_拒绝接单", "工单发布"),
+    PUBLISHING_REJECTING("11", "发布中_拒绝接单", "工单发布"),
 
     /**
      * 响应中_待拆分
      */
-    RESPONDING_TO_BE_SPLIT(20, "响应中_待拆分", "接单响应"),
+    RESPONDING_TO_BE_SPLIT("20", "响应中_待拆分", "接单响应"),
 
     /**
      * 响应中_申请取消
      */
-    RESPONDING_APPLY_CANCEL(21, "响应中_申请取消", "接单响应"),
+    RESPONDING_APPLY_CANCEL("21", "响应中_申请取消", "接单响应"),
 
     /**
      * 响应中_申请修改
      */
-    RESPONDING_APPLY_MODIFY(22, "响应中_申请修改", "接单响应"),
+    RESPONDING_APPLY_MODIFY("22", "响应中_申请修改", "接单响应"),
 
     /**
      * 响应中_已取消
      */
-    RESPONDING_CANCELED(23, "响应中_已取消", "接单响应"),
+    RESPONDING_CANCELED("23", "响应中_已取消", "接单响应"),
+
+    /**
+     * 响应中_拒绝取消
+     */
+    RESPONDING_REJECT_CANCEL("24", "响应中_拒绝取消", "接单响应"),
+
+    /**
+     * 响应中_拒绝修改
+     */
+    RESPONDING_REJECT_MODIFY("25", "响应中_拒绝修改", "接单响应"),
 
     /**
      * 执行中_待全部完成
      */
-    EXECUTING_TO_BE_COMPLETED(30, "执行中_待全部完成", "执行中"),
+    EXECUTING_TO_BE_COMPLETED("30", "执行中_待全部完成", "执行中"),
 
     /**
      * 执行中_协商修改
      */
-    EXECUTING_NEGOTIATE_MODIFY(31, "执行中_协商修改", "执行中"),
+    EXECUTING_NEGOTIATE_MODIFY("31", "执行中_协商修改", "执行中"),
 
     /**
      * 完成待验_待全部验收
      */
-    COMPLETED_TO_BE_INSPECTED(40, "完成待验_待全部验收", "完成待验"),
+    COMPLETED_TO_BE_INSPECTED("40", "完成待验_待全部验收", "完成待验"),
 
     /**
      * 验收通过_待结算
      */
-    ACCEPTED_TO_BE_SETTLED(50, "验收通过_待结算", "验收通过"),
+    ACCEPTED_TO_BE_SETTLED("50", "验收通过_待结算", "验收通过"),
 
     /**
      * 结算完成_已结算
      */
-    SETTLEMENT_COMPLETED(60, "结算完成_已结算", "结算完成");
+    SETTLEMENT_COMPLETED("60", "结算完成_已结算", "结算完成");
 
-    private final Byte code;
+    private final String code;
     private final String desc;
     private final String stageDesc;
     private final boolean isStage;
@@ -117,8 +127,8 @@
     /**
      * 工单状态构造函数
      */
-    WorkOrderStatusEnum(int code, String desc, String stageDesc) {
-        this.code = (byte) code;
+    WorkOrderStatusEnum(String code, String desc, String stageDesc) {
+        this.code = code;
         this.desc = desc;
         this.stageDesc = stageDesc;
         this.isStage = false;
@@ -128,7 +138,7 @@
      * 获取状态码
      * @return 状态码
      */
-    public Byte getCode() {
+    public String getCode() {
         return code;
     }
 
@@ -169,12 +179,12 @@
      * @param code 状态码
      * @return 枚举对象
      */
-    public static WorkOrderStatusEnum getByCode(Byte code) {
+    public static WorkOrderStatusEnum getByCode(String code) {
         if (code == null) {
             return null;
         }
         for (WorkOrderStatusEnum status : values()) {
-            if (status.getCode().equals(code)) {
+            if (code.equals(status.getCode())) {
                 return status;
             }
         }
@@ -186,7 +196,7 @@
      * @param code 状态码
      * @return 状态描述
      */
-    public static String getDescByCode(Byte code) {
+    public static String getDescByCode(String code) {
         WorkOrderStatusEnum status = getByCode(code);
         return status != null ? status.getDesc() : null;
     }
@@ -196,7 +206,42 @@
      * @param code 状态码
      * @return 是否有效
      */
-    public static boolean isValid(Byte code) {
+    public static boolean isValid(String code) {
         return getByCode(code) != null;
     }
-}
\ No newline at end of file
+
+    /**
+     * 检查当前状态是否允许指定的操作类型
+     * @param operationType 操作类型:1接单,2拒接接单,3申请取消,4申请修改,5同意取消,6不同意取消,7同意修改,8不同意修改
+     * @return 是否允许操作
+     */
+    public boolean isAllowedOperation(Integer operationType) {
+        if (operationType == null) {
+            return false;
+        }
+
+        switch (this) {
+            case PUBLISHING_ACCEPTING:
+                // 发布中_接单中状态允许:1接单,2拒接接单
+                return operationType == 1 || operationType == 2;
+            case RESPONDING_TO_BE_SPLIT:
+                // 响应中_待拆分状态允许:3申请取消,4申请修改
+                return operationType == 3 || operationType == 4 ;
+            case RESPONDING_APPLY_CANCEL:
+                // 响应中_申请取消状态允许:5同意取消,6不同意取消
+                return operationType == 5 || operationType == 6;
+            case RESPONDING_APPLY_MODIFY:
+                // 响应中_申请修改状态允许:7同意修改,8不同意修改
+                return operationType ==7 || operationType == 8 ;
+            case RESPONDING_REJECT_CANCEL:
+                // 响应中_拒绝取消状态允许:3申请取消
+                return operationType == 3;
+            case RESPONDING_REJECT_MODIFY:
+                // 响应中_拒绝修改状态允许:4申请修改
+                return operationType == 4;
+            default:
+                // 其他状态不允许操作
+                return false;
+        }
+    }
+}

--
Gitblit v1.9.3