Gorden před 9 měsíci
rodič
revize
54c96a37f0

+ 5 - 2
app/admin/controller/member/BenefitController.php

@@ -179,7 +179,7 @@ class BenefitController extends Curd
         }
     }
 
-    public static function doWriteOff($paramsData)
+    public static function doWriteOff($paramsData,$appointmentNofee)
     {
         $benefit = MemberBenefit::where('member_benefit_id', $paramsData['benefit_id'])
             ->where('join_benefit_member_id', $paramsData['member_id'])
@@ -226,7 +226,10 @@ class BenefitController extends Curd
                     'appointment_apply_datetime' => $times,
                     'appointment_doing_datetime' => $times,
                     'appointment_done_datetime' => $times,
-                    'appointment_done_json' => json_encode($writeOffData)
+                    'appointment_done_json' => json_encode($writeOffData),
+                    'appointment_apply_json'=>$appointmentNofee->appointment_apply_json,
+                    'appointment_process_json'=>$appointmentNofee->appointment_process_json,
+                    'settlement_mode'=>$appointmentNofee->settlement_mode
                 ]);
             }
 

+ 12 - 5
app/admin/service/order/AppointmentService.php

@@ -73,6 +73,8 @@ class AppointmentService
             $row->appointment_apply_json = !empty($row->appointment_apply_json) ? json_decode($row->appointment_apply_json,true) : [];
             if ($row->appointment_category == 'NOFEE') {
                 $row->member_benefit_name = "后付费预约";
+            }elseif ($row->appointment_category == 'GREENWAY'){
+                $row->member_benefit_name = "就医绿通";
             }
             if (!empty($row->appointment_apply_json)) {
                 $applyJson = $row->appointment_apply_json;
@@ -593,13 +595,18 @@ class AppointmentService
                     $paramsData['component_id'] = $quota['join_member_rule_added_component_id'];
 
                     QuotaController::doWriteOff($paramsData);
+                    // 回写权益ID
+                    if(empty($appointment->join_appointment_member_benefit_id)){
+                        Appointment::where('appointment_id', $appointmentId)->update(['join_appointment_member_benefit_id' => $params['quota_id']]);
+                    }
                 }else if($quotaType == 'BF'){
                     $paramsData['benefit_id'] = $params['quota_id'];
-                    BenefitController::doWriteOff($paramsData);
-                }
-                // 回写权益ID
-                if(empty($appointment->join_appointment_member_benefit_id)){
-                    Appointment::where('appointment_id', $appointmentId)->update(['join_appointment_member_benefit_id' => $params['quota_id']]);
+                    BenefitController::doWriteOff($paramsData,$appointment);
+
+                    // 清除后付费预约
+                    if($appointment->appointment_category == 'NOFEE'){
+                        Appointment::where('appointment_id', $appointmentId)->delete();
+                    }
                 }
 
                 _syslog("预约","已有服务核销");

+ 15 - 1
app/command/WelfareAccountCommand.php

@@ -4,6 +4,7 @@ namespace app\command;
 
 use app\model\Member;
 use app\model\MemberAccount;
+use app\model\Order;
 use app\model\PayDetail;
 use Symfony\Component\Console\Command\Command;
 use Symfony\Component\Console\Input\InputArgument;
@@ -39,7 +40,7 @@ class WelfareAccountCommand extends Command
                 Member::where('member_id', $member['member_id'])->update(['member_classify' => 'EMPLOY']);
             }
             // 改所有的充值记录
-            PayDetail::where('join_pay_member_id', $member['member_id'])->where('pay_category', 'RECHARGE')->where('pay_amount','1000.00')->update(['pay_prepayid' => $member['member_id'] . 'WELFARE']);
+            PayDetail::where('join_pay_member_id', $member['member_id'])->where('pay_category', 'RECHARGE')->where('pay_amount','1000.00')->update(['pay_prepayid' => $member['member_id'] . '-WELFARE']);
 
             // 改所有的付款记录
             PayDetail::where('join_pay_member_id', $member['member_id'])->where('pay_prepayid', $member['member_id'] . '-CASH')->update(['pay_prepayid' => $member['member_id'] . '-WELFARE']);
@@ -53,9 +54,22 @@ class WelfareAccountCommand extends Command
 
            ]);
 
+
             echo "会员【" . $member['member_id'] . "】已处理完成\n";
         }
 
+
+
+        $payDetails = PayDetail::where('pay_category', 'RECHARGE')
+            ->get();
+        foreach ($payDetails as $payDetail){
+            $order = Order::where('order_groupby',$payDetail->join_pay_order_id)->first();
+            if($order){
+                $order->order_category = "RECHARGE";
+                $order->save();
+            }
+        }
+
         return self::SUCCESS;
     }