Browse Source

工单状态更新优化

lighter 7 months ago
parent
commit
288a375ae4

+ 22 - 7
src/main/java/thyyxxk/webserver/service/utilities/WorkOrderService.java

@@ -76,15 +76,30 @@ public class WorkOrderService {
     }
 
     public String updateOrderProgress(WorkOrderDetail detail) {
-        if (detail.getProgress() == WorkOrderEnum.ProgressEnum.PROCESS_FINISHED) {
-            detail.setFinishtime(new Date());
-            WorkOrder order = new WorkOrder();
-            order.setId(detail.getParentId());
-            order.setState(WorkOrderEnum.StateEnum.FINISHED);
-            order.setEndtime(detail.getFinishtime());
-            dao.updateById(order);
+        WorkOrderEnum.ProgressEnum progress = detail.getProgress();
+        if (progress == WorkOrderEnum.ProgressEnum.IN_PROCESS) {
+            orderStart(detail);
+        } else if (progress == WorkOrderEnum.ProgressEnum.PROCESS_FINISHED) {
+            orderFinish(detail);
         }
         detailDao.updateById(detail);
         return "更新成功。";
     }
+
+    private void orderStart(WorkOrderDetail detail) {
+        WorkOrder order = new WorkOrder();
+        order.setId(detail.getParentId());
+        order.setState(WorkOrderEnum.StateEnum.TAKEN);
+        order.setBegintime(new Date());
+        dao.updateById(order);
+    }
+
+    private void orderFinish(WorkOrderDetail detail) {
+        detail.setFinishtime(new Date());
+        WorkOrder order = new WorkOrder();
+        order.setId(detail.getParentId());
+        order.setState(WorkOrderEnum.StateEnum.FINISHED);
+        order.setEndtime(detail.getFinishtime());
+        dao.updateById(order);
+    }
 }