Преглед изворни кода

修改预约时间的时候同步修改预计完成时间

dongxiaoqin пре 1 година
родитељ
комит
c6df753856

+ 6 - 0
app/adminapi/controller/works/ServiceWorkController.php

@@ -54,6 +54,12 @@ class ServiceWorkController extends BaseAdminController
     {
         $params = (new ServiceWorkValidate())->post()->goCheck('edit');
         $workDetail = ServiceWorkLogic::detail($params);
+        //预约时间修改时,同步更新预计完成时间
+        if ($workDetail['estimated_finish_time'] && $workDetail['appointment_time'] != $params['appointment_time']) {
+            $params['estimated_finish_time'] = strtotime($params['appointment_time']) + (strtotime($workDetail['estimated_finish_time']) - strtotime($workDetail['appointment_time']));
+        } else {
+            $params['estimated_finish_time'] = strtotime($workDetail['estimated_finish_time']);
+        }
         $result = ServiceWorkLogic::edit($params);
         if (true === $result) {
             if(strtotime($workDetail['appointment_time']) !== strtotime($params['appointment_time']) && !empty($workDetail['master_worker_id'])){

+ 1 - 0
app/adminapi/logic/works/ServiceWorkLogic.php

@@ -65,6 +65,7 @@ class ServiceWorkLogic extends BaseLogic
             ServiceWork::where('id', $params['id'])->update([
                 'address' => $params['address'],
                 'appointment_time' => strtotime($params['appointment_time']),
+                'estimated_finish_time' => $params['estimated_finish_time'],
                 'lon' => $params['lon'],
                 'lat' => $params['lat'],
             ]);

+ 4 - 1
app/api/logic/ServiceOrderLogic.php

@@ -948,7 +948,10 @@ class ServiceOrderLogic extends BaseLogic
                 'last_appointment_time'=>strtotime($work->appointment_time),
                 'this_appointment_time'=>strtotime($params['appointment_time']),
             ]);
-
+            //修改预计完成时间
+            if ($work->estimated_finish_time) {
+                $work->estimated_finish_time = strtotime($params['appointment_time']) + (strtotime($work->estimated_finish_time) - strtotime($work->appointment_time));
+            }
             $work->appointment_time = strtotime($params['appointment_time']);
             $work->save();