Browse Source

完善功能

gorden 8 months ago
parent
commit
d60d62a514

+ 5 - 1
app/admin/controller/finance/GoodsSalesController.php

@@ -9,7 +9,11 @@ class GoodsSalesController{
 
     public function list(Request $request)
     {
-//        $rows = OrderSheet::leftJoin('goods','goods.goods_id','=','order_sheet.')
+        // $rows = OrderSheet::leftJoin('goods','goods.goods_id','=','order_sheet.join_sheet_goods_id')
+        //     ->leftJoin('goods_sku','goods_sku.join_sku_goods_id','=','order_sheet.join_sheet_goods_id')
+        //     ->
+
+        return json_success('');
     }
 
     public function statistics() 

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

@@ -19,6 +19,7 @@ use app\model\PayDetail;
 use app\model\SysDept;
 use app\model\SysSerial;
 use support\Db;
+use support\exception\BusinessException;
 use support\Request;
 use function _PHPStan_cc8d35ffb\RingCentral\Psr7\str;
 
@@ -399,8 +400,11 @@ class AppointmentService
                         $query->select('join_cert_member_id', 'member_cert_name');
                     }
                 ])->where('member_id', $params['join_appointment_member_id'])
-                    ->first()
-                    ->toArray();
+                    ->first();
+                if(!$member){
+                    throw new BusinessException("核销人员不存在");
+                }
+                $member = $member->toArray();
                 $data['appointment_apply_json'] = json_encode([
                     'name' => !empty($member['cert']['member_cert_name']) ? $member['cert']['member_cert_name'] : $member['member_mobile'],
                     'mobile' => $member['member_mobile'],
@@ -415,7 +419,7 @@ class AppointmentService
 
             // 如果服务结束,没有生成过订单,生成订单
             if ($params['appointment_status'] == 'DONE' && empty($appointment->join_appointment_order_id) && $params['settlement_mode'] != 'QUOTA') {
-                $sku = GoodsSku::find($params['join_appointment_goods_sku_id']);
+                $sku = GoodsSku::find($params['join_appointment_goods_sku_id']);    
                 $orderId = 'OD' . date('YmdHis') . random_string(6, 'up');
                 $groupBy = 'OD' . date('YmdHis') . random_string(6, 'up');
                 $order = [
@@ -526,12 +530,31 @@ class AppointmentService
                 if(empty($appointment->join_appointment_member_benefit_id)){
                     Appointment::where('appointment_id', $appointmentId)->update(['join_appointment_member_benefit_id' => $params['quota_id']]);
                 }
-
-                
+            }
+            if($params['appointment_status'] == 'DONE' && $params['settlement_mode'] != 'QUOTA'){
+                $premisesName = SysDept::where('dept_id',$params['premises'])->value('dept_name');
+                // 记录核销
+                $paramsData = [
+                    'dept_premises_id' => $premisesName,
+                    'order_remark'=>$params['appointment_remark'],
+                    'write_off_member_id' => $params['write_off_member_id'],
+                    'join_order_member_id' => $params['join_appointment_member_id'],
+                ];
+                $writeOffData = OrderService::generateWriteOffData($paramsData);
+                Appointment::where('appointment_id', $appointment->appointment_id)->update([
+                    'appointment_status' => 'DONE',
+                    'appointment_done_datetime' => $params['appointment_done_datetime'] ? date('Y-m-d H:i:s', strtotime($params['appointment_done_datetime'])) : null,
+                    'appointment_done_json' => json_encode($writeOffData)
+                ]);
             }
 
+
             Db::commit();
             return json_success("数据更新成功");
+        }catch(\support\exception\BusinessException $e){
+            Db::rollBack();
+            dump($e->getFile().'--'.$e->getLine());
+            return json_fail($e->getMessage());
         } catch (\Exception $e) {
             Db::rollBack();
             dump($e->getFile().'--'.$e->getLine());

+ 1 - 0
route/admin.php

@@ -99,6 +99,7 @@ Route::group('/admin', function () {
         });
         Route::group('/goodsSales',function (){
             Route::get('/statistics',[\app\admin\controller\finance\GoodsSalesController::class,'statistics']);
+            Route::get('/list',[\app\admin\controller\finance\GoodsSalesController::class,'statistics']);
         });
     });
     /* 系统管理中心 */