Browse Source

app挂起、审批

HD_wangm 5 months ago
parent
commit
1c6973255d

+ 67 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/controller/mobile/GxtMobileOrderController.java

@@ -86,4 +86,71 @@ public class GxtMobileOrderController extends BaseController
         }
         return toAjax(result);
     }
+
+    /**
+     * 挂起工单
+     */
+    @Log(title = "挂起", businessType = BusinessType.UPDATE)
+    @PutMapping("/suspend")
+    public AjaxResult suspend(@RequestBody GxtRepairOrder gxtRepairOrder)
+    {
+        int result = 0;
+        if(gxtRepairOrder.getOrderType() == 1) {
+            result = gxtRepairOrderService.suspendGxtRepairOrder(gxtRepairOrder);
+        } else {
+            GxtWorkOrder gxtWorkOrder = new GxtWorkOrder();
+            gxtWorkOrder.setId(gxtRepairOrder.getId());
+            gxtWorkOrder.setSuspendReason(gxtRepairOrder.getSuspendReason());
+            gxtWorkOrder.setWorkOrderStatus(gxtRepairOrder.getWorkOrderStatus());
+            result = gxtWorkOrderService.suspendWorkOrder(gxtWorkOrder);
+        }
+        return toAjax(result);
+    }
+
+    /**
+     * 审批工单
+     */
+    @Log(title = "审批", businessType = BusinessType.UPDATE)
+    @PutMapping("/approve")
+    public AjaxResult approve(@RequestBody GxtRepairOrder gxtRepairOrder)
+    {
+        int result = 0;
+        if(gxtRepairOrder.getOrderType() == 1) {
+            if ("to_finish".equals(gxtRepairOrder.getWorkOrderStatus())) {
+                gxtRepairOrder.setApprovalStatus("rejected");
+            } else {
+                gxtRepairOrder.setApprovalStatus("approved");
+            }
+            result = gxtRepairOrderService.approveSuspendGxtRepairOrder(gxtRepairOrder);
+        } else {
+            GxtWorkOrder gxtWorkOrder = new GxtWorkOrder();
+            gxtWorkOrder.setId(gxtRepairOrder.getId());
+            gxtWorkOrder.setRejectionReason(gxtRepairOrder.getRejectionReason());
+            gxtWorkOrder.setWorkOrderStatus(gxtRepairOrder.getWorkOrderStatus());
+            result = gxtWorkOrderService.approveWorkOrder(gxtWorkOrder);
+        }
+        return toAjax(result);
+    }
+
+    /**
+     * 恢复工单
+     */
+    @Log(title = "恢复", businessType = BusinessType.UPDATE)
+    @PutMapping("/resume")
+    public AjaxResult resume(@RequestBody GxtRepairOrder gxtRepairOrder)
+    {
+        int result = 0;
+        if(gxtRepairOrder.getOrderType() == 1) {
+            result = gxtRepairOrderService.resumeGxtRepairOrder(gxtRepairOrder);
+        } else {
+            GxtWorkOrder gxtWorkOrder = new GxtWorkOrder();
+            gxtWorkOrder.setId(gxtRepairOrder.getId());
+            gxtWorkOrder.setWorkOrderProjectNo(gxtRepairOrder.getWorkOrderProjectNo());
+            gxtWorkOrder.setTeamLeaderId(gxtRepairOrder.getTeamLeaderId());
+            gxtWorkOrder.setTeamLeaderName(gxtRepairOrder.getTeamLeaderName());
+            gxtWorkOrder.setWorkOrderStatus(gxtRepairOrder.getWorkOrderStatus());
+            result = gxtWorkOrderService.resumeWorkOrder(gxtWorkOrder);
+        }
+        return toAjax(result);
+    }
 }

+ 3 - 1
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtWorkOrderServiceImpl.java

@@ -10,6 +10,7 @@ import com.ygtx.common.core.domain.entity.SysRole;
 import com.ygtx.common.core.domain.entity.SysUser;
 import com.ygtx.common.core.domain.model.LoginUser;
 import com.ygtx.common.utils.DateUtils;
+import com.ygtx.common.utils.DictUtils;
 import com.ygtx.common.utils.SecurityUtils;
 import com.ygtx.common.utils.StringUtils;
 import com.ygtx.framework.aspectj.DataScopeAspect;
@@ -522,9 +523,10 @@ public class GxtWorkOrderServiceImpl implements IGxtWorkOrderService
 
         if (result > 0)
         {
+            String suspendReasonLabel = DictUtils.getDictLabel("gxt_order_suspend_reason", gxtWorkOrder.getSuspendReason());
             // 记录流转
             recordWorkOrderFlow(id, order.getWorkOrderProjectNo(), "to_approve", oldStatus, "to_approve",
-                    "申请挂起,原因: " + gxtWorkOrder.getSuspendReason());
+                    "申请挂起,原因: " + suspendReasonLabel);
         }
         return result;
     }

+ 0 - 2
ygtx-ui/src/views/gxt/gxtOrder/index.vue

@@ -1114,7 +1114,6 @@
           <el-row :gutter="20">
             <el-col :span="12">
               <el-form-item label="工单状态" prop="workOrderStatus">
-<!--                <el-input v-model="approveForm.workOrderStatus" disabled />-->
                 <el-select v-model="approveForm.workOrderStatus" disabled>
                   <el-option
                       v-for="dict in gxt_work_order_status"
@@ -2463,7 +2462,6 @@ function handleApprove(row) {
   getGxtOrder(row.id).then(response => {
     approveForm.value = response.data
     approveForm.value.orderId = row.id
-    approveForm.value.workOrderStatus = 'suspended'
     approveForm.value.rejectionReason = undefined
     approveDialogVisible.value = true
   })