Browse Source

维修复启修改

HD_wangm 3 months ago
parent
commit
07db287540

+ 13 - 1
ygtx-gxt/src/main/java/com/ygtx/gxt/controller/GxtRepairOrderController.java

@@ -259,7 +259,7 @@ public class GxtRepairOrderController extends BaseController
     /**
      * 正式结单(完结工单)
      */
-    @PreAuthorize("@ss.hasPermi('gxt:repairOrder:finalize') or @ss.hasPermi('gxt:repairOrder:resetStart')")
+    @PreAuthorize("@ss.hasPermi('gxt:repairOrder:finalize')")
     @Log(title = "维修工单", businessType = BusinessType.UPDATE)
     @PutMapping("/finalize")
     @ApiOperation("正式结单(完结工单)")
@@ -268,6 +268,18 @@ public class GxtRepairOrderController extends BaseController
         return toAjax(gxtRepairOrderService.finalizeGxtRepairOrder(gxtRepairOrder));
     }
 
+    /**
+     * 复启
+     */
+    @PreAuthorize("@ss.hasPermi('gxt:repairOrder:resetStart')")
+    @Log(title = "维修工单", businessType = BusinessType.UPDATE)
+    @PutMapping("/resetStart")
+    @ApiOperation("复启")
+    public AjaxResult resetStart(@RequestBody GxtRepairOrder gxtRepairOrder)
+    {
+        return toAjax(gxtRepairOrderService.resetStartOrder(gxtRepairOrder));
+    }
+
     /**
      * 评分维修工单
      */

+ 6 - 1
ygtx-gxt/src/main/java/com/ygtx/gxt/controller/mobile/GxtMobileOrderController.java

@@ -431,13 +431,18 @@ public class GxtMobileOrderController extends BaseController
         return toAjax(result);
     }
 
+    /**
+     * 复启
+     * @param gxtRepairOrder
+     * @return
+     */
     @PutMapping("/resetAndStart")
     public AjaxResult resetAndStart(@RequestBody GxtRepairOrder gxtRepairOrder)
     {
         int result = 0;
 
 
-        result = gxtRepairOrderService.finalizeGxtRepairOrder(gxtRepairOrder);
+        result = gxtRepairOrderService.resetStartOrder(gxtRepairOrder);
 
         return toAjax(result);
     }

+ 8 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/service/IGxtRepairOrderService.java

@@ -142,6 +142,14 @@ public interface IGxtRepairOrderService
      * @return 结果
      */
     public int finalizeGxtRepairOrder(GxtRepairOrder gxtRepairOrder);
+
+    /**
+     * 复启
+     *
+     * @param gxtRepairOrder 维修工单
+     * @return 结果
+     */
+    public int resetStartOrder(GxtRepairOrder gxtRepairOrder);
     
     /**
      * 复运维修工单

+ 43 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtRepairOrderServiceImpl.java

@@ -1136,6 +1136,49 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
         return result;
     }
 
+    /**
+     * 复启
+     *
+     * @param gxtRepairOrder 维修工单
+     * @return 结果
+     */
+    @Override
+    @Transactional
+    public int resetStartOrder(GxtRepairOrder gxtRepairOrder)
+    {
+        String nickName = SecurityUtils.getLoginUser().getUser().getNickName();
+        GxtRepairOrder oldOrder = gxtRepairOrderMapper.selectGxtRepairOrderById(gxtRepairOrder.getId());
+
+        gxtRepairOrder.setWorkOrderStatus("completed");
+        gxtRepairOrder.setUpdateBy(SecurityUtils.getUsername());
+        gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
+
+        // 负责人为空,设置当前操作人为负责人
+        if (null == gxtRepairOrder.getTeamLeaderName() && StringUtils.isEmpty(gxtRepairOrder.getTeamLeaderName())) {
+            gxtRepairOrder.setTeamLeaderId(SecurityUtils.getUserId());
+            gxtRepairOrder.setTeamLeaderName(SecurityUtils.getLoginUser().getUser().getNickName());
+        }
+        // 删除旧的工作班成员
+        gxtRepairOrderPersonMapper.deleteGxtRepairOrderPersonByOrderId(gxtRepairOrder.getId());
+        int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
+
+        // 记录结单流转信息
+        if (result > 0) {
+            GxtRepairOrderFlow flow = new GxtRepairOrderFlow();
+            flow.setOrderId(gxtRepairOrder.getId());
+            flow.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
+            flow.setActionType("complete");
+            flow.setFromStatus(oldOrder.getWorkOrderStatus());
+            flow.setToStatus(gxtRepairOrder.getWorkOrderStatus());
+            flow.setOperatorId(SecurityUtils.getUserId());
+            flow.setOperatorName(nickName);
+            flow.setActionTime(DateUtils.getNowDate());
+            flow.setActionRemark("工单复启");
+            gxtRepairOrderFlowService.insertGxtRepairOrderFlow(flow);
+        }
+        return result;
+    }
+
     /**
      * 复运维修工单
      *

+ 9 - 0
ygtx-ui/src/api/gxt/repairOrder.js

@@ -143,6 +143,15 @@ export function finalizeRepairOrder(data) {
   })
 }
 
+// 正式结单(完结工单)
+export function resetStartRepairOrder(data) {
+  return request({
+    url: '/gxt/repairOrder/resetStart',
+    method: 'put',
+    data: data
+  })
+}
+
 // 评分维修工单
 export function ratingRepairOrder(data) {
   return request({

+ 2 - 13
ygtx-ui/src/components/repairOrder/reset.vue

@@ -83,6 +83,7 @@
 
 <script setup>
 import { ref, defineProps, defineEmits, getCurrentInstance } from 'vue'
+import {resetStartRepairOrder} from "@/api/gxt/repairOrder.js";
 
 // 获取当前实例
 const { proxy } = getCurrentInstance()
@@ -163,19 +164,7 @@ const handleSubmit = async () => {
       try {
         // 设置维修方式为复位启机(2)
         const submitData = { ...formData.value, repairMethod: '2' }
-
-        // 调用父组件传入的提交函数
-        if (props.onSubmit && typeof props.onSubmit === 'function') {
-          await props.onSubmit(submitData)
-        } else {
-          // 如果没有提供onSubmit,则尝试调用代理方法
-          if (proxy.finalizeRepairOrder) {
-            await proxy.finalizeRepairOrder(submitData)
-          } else {
-            throw new Error("未提供提交方法")
-          }
-        }
-
+        await resetStartRepairOrder(submitData)
         proxy.$modal.msgSuccess("复启成功")
         visible.value = false
         emit('success')

+ 1 - 2
ygtx-ui/src/views/gxt/orderMyTodo/index.vue

@@ -196,7 +196,7 @@
                 v-hasPermi="['gxt:repairOrder:acceptReturn']"
             ><i class="fa fa-sign-in"></i>退回</el-button> <!--接单退回,班长退回至下发环节 -->
             <el-button
-                v-if="scope.row.workOrderStatus === 'to_finish'"
+                v-if="scope.row.workOrderStatus != 'to_finish' || scope.row.workOrderStatus === 'assigned'"
                 type="primary"
                 link
                 @click="handleReset(scope.row)"
@@ -1257,7 +1257,6 @@
       v-model="resetDialogVisible"
       :data="resetFormData"
       :reset-method-options="gxt_reset_method"
-      :on-submit="submitResetFromParent"
       @success="handleResetSuccess"
     />
 

+ 1 - 2
ygtx-ui/src/views/gxt/repairOrder/index.vue

@@ -337,7 +337,7 @@
               v-hasPermi="['gxt:repairOrder:autoResume']"
           ><i class="fa fa-play"></i>恢复</el-button>
           <el-button
-              v-if="scope.row.workOrderStatus === 'to_finish'"
+              v-if="scope.row.workOrderStatus != 'to_finish' || scope.row.workOrderStatus === 'assigned'"
               type="primary"
               link
               @click="handleReset(scope.row)"
@@ -880,7 +880,6 @@
       v-model="resetDialogVisible"
       :data="resetFormData"
       :reset-method-options="gxt_reset_method"
-      :on-submit="submitResetFromParent"
       @success="handleResetSuccess"
     />