1134 lines
		
	
	
		
			41 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			1134 lines
		
	
	
		
			41 KiB
		
	
	
	
		
			PHP
		
	
	
	
| <?php
 | |
| 
 | |
| namespace Gdoo\Order\Controllers;
 | |
| 
 | |
| use DB;
 | |
| use Request;
 | |
| use Auth;
 | |
| use Paginator;
 | |
| 
 | |
| use App\Jobs\SendSms;
 | |
| 
 | |
| use App\Support\Hook;
 | |
| 
 | |
| use Gdoo\Customer\Models\Customer;
 | |
| use Gdoo\Customer\Models\CustomerTax;
 | |
| 
 | |
| use Gdoo\Customer\Services\CustomerService;
 | |
| 
 | |
| use Gdoo\Product\Models\ProductCategory;
 | |
| use Gdoo\Product\Models\Warehouse;
 | |
| use Gdoo\Order\Models\CustomerOrder;
 | |
| use Gdoo\Product\Models\Stock;
 | |
| use Gdoo\Index\Models\Notification;
 | |
| 
 | |
| use Gdoo\Index\Services\BadgeService;
 | |
| 
 | |
| use Gdoo\Order\Services\OrderService;
 | |
| use Gdoo\Produce\Services\ProduceService;
 | |
| 
 | |
| use Gdoo\Model\Grid;
 | |
| use Gdoo\Model\Form;
 | |
| 
 | |
| use Gdoo\Index\Controllers\WorkflowController;
 | |
| 
 | |
| class OrderController extends WorkflowController
 | |
| {
 | |
|     public $permission = [
 | |
|         'dialog', 
 | |
|         'serviceDelivery', 
 | |
|         'serviceNotDelivery', 
 | |
|         'servicePromotion', 
 | |
|         'deliveryPlan', 
 | |
|         'deliveryPlanDate',
 | |
|         'serviceCancelOrder',
 | |
|         'serviceCustomerMoney',
 | |
|     ];
 | |
| 
 | |
|     public function index()
 | |
|     {
 | |
|         // 客户权限
 | |
|         $region = regionCustomer('customer_id_customer');
 | |
| 
 | |
|         $header = Grid::header([
 | |
|             'code' => 'customer_order',
 | |
|             'referer' => 1,
 | |
|             'search' => ['by' => ''],
 | |
|         ]);
 | |
| 
 | |
|         $search = $header['search_form'];
 | |
|         $query = $search['query'];
 | |
|         $cols = $header['cols'];
 | |
| 
 | |
|         // 自定义列
 | |
|         $customFields = [
 | |
|             'delivery_date' => [
 | |
|                 'headerName' => '发货日期',
 | |
|                 'field' => 'delivery_date',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 100,
 | |
|                 'sortable' => false,
 | |
|                 'suppressMenu' => true,
 | |
|                 'cellStyle' => ['text-align' => 'center'],
 | |
|             ],
 | |
|             'zy_num' => [
 | |
|                 'headerName' => '直营数量',
 | |
|                 'field' => 'zy_num',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'zy_money' => [
 | |
|                 'headerName' => '直营金额',
 | |
|                 'field' => 'zy_money',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'pt_num' => [
 | |
|                 'headerName' => '普通数量',
 | |
|                 'field' => 'pt_num',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'pt_money' => [
 | |
|                 'headerName' => '普通金额',
 | |
|                 'field' => 'pt_money',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'wl_num' => [
 | |
|                 'headerName' => '物料数量',
 | |
|                 'field' => 'wl_num',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'wl_money' => [
 | |
|                 'headerName' => '物料金额',
 | |
|                 'field' => 'wl_money',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'zp_num' => [
 | |
|                 'headerName' => '赠品数量',
 | |
|                 'field' => 'zp_num',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'zp_money' => [
 | |
|                 'headerName' => '赠品金额',
 | |
|                 'field' => 'zp_money',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'zk_money' => [
 | |
|                 'headerName' => '折扣金额',
 | |
|                 'field' => 'zk_money',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ], 
 | |
|             /*
 | |
|             'delivery_sn' => [
 | |
|                 'headerName' => '发货单号',
 | |
|                 'field' => 'delivery_sn',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 140,
 | |
|                 'sortable' => false,
 | |
|                 'suppressMenu' => true,
 | |
|                 'cellStyle' => ['text-align' => 'center'],
 | |
|             ],
 | |
|             */
 | |
|             'yfh_num' => [
 | |
|                 'headerName' => '已发数量',
 | |
|                 'field' => 'yfh_num',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'wfh_num' => [
 | |
|                 'headerName' => '未发数量',
 | |
|                 'field' => 'wfh_num',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],'hjzl' => [
 | |
|                 'headerName' => '合计重量(kg)',
 | |
|                 'field' => 'hjzl',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 100,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ]
 | |
|         ];
 | |
| 
 | |
|         $cols = Grid::addColumns($cols, 'master_type_id_name', $customFields);
 | |
| 
 | |
|         $cols['actions']['options'] = [[
 | |
|             'name' => '显示',
 | |
|             'action' => 'show',
 | |
|             'display' => $this->access['show'],
 | |
|         ]];
 | |
| 
 | |
|         $header['buttons'] = [
 | |
|             ['name' => '导出', 'icon' => 'fa-share', 'action' => 'export', 'display' => 1],
 | |
|         ];
 | |
| 
 | |
|         $header['left_buttons'] = [
 | |
|             ['name' => '批量编辑', 'color' => 'default', 'icon' => 'fa-pencil-square-o', 'action' => 'batchEdit', 'display' => $this->access['batchEdit']],
 | |
|         ];
 | |
| 
 | |
|         $header['cols'] = $cols;
 | |
|         $header['tabs'] = CustomerOrder::$tabs;
 | |
|         $header['bys'] = CustomerOrder::$bys;
 | |
| 
 | |
|         if (Request::method() == 'POST') {
 | |
|             $model = DB::table($header['table'])->setBy($header);
 | |
|             foreach ($header['join'] as $join) {
 | |
|                 $model->leftJoin($join[0], $join[1], $join[2], $join[3]);
 | |
|             }
 | |
| 
 | |
|             $model->orderBy($header['sort'], $header['order']);
 | |
| 
 | |
|             $model->select($header['select']);
 | |
| 
 | |
|             // 订单统计
 | |
|             $model->leftJoin(DB::raw("(select
 | |
|                 Sum(case when c.type_id = 3 then money else 0 end) as zy_money,
 | |
|                 Sum(case when c.type_id = 3 then delivery_quantity else 0 end) as zy_num,
 | |
|                 Sum(case when p.material_type > 0 then money else 0 end) as wl_money,
 | |
|                 Sum(case when p.material_type > 0 then delivery_quantity else 0 end) as wl_num,
 | |
|                 Sum(case when d.type_id = 2 then money else 0 end) as zp_money,
 | |
|                 Sum(case when d.type_id = 2 then delivery_quantity else 0 end) as zp_num,
 | |
|                 Sum(case when ((p.product_type = 1 and c.type_id <> 3) or p.code = '99001') then money else 0 end) as pt_money,
 | |
|                 Sum(case when ((p.product_type = 1 and c.type_id <> 3) or p.code = '99001') then d.delivery_quantity else 0 end) as pt_num,
 | |
|                 Sum(case when p.code = '99001' then money else 0 end) as zk_money,
 | |
|                 SUM(ISNULL(d.delivery_quantity, 0)) dd_num, 
 | |
|                 SUM(ISNULL(d.delivery_quantity * p.weight, 0)) hjzl, 
 | |
|                 d.order_id
 | |
|                 FROM customer_order_data as d
 | |
|                 LEFT JOIN product as p on p.id = d.product_id
 | |
|                 LEFT JOIN customer_order as co on co.id = d.order_id
 | |
|                 LEFT JOIN customer as c on c.id = co.customer_id
 | |
|                 GROUP BY d.order_id
 | |
|             ) cod
 | |
|             "), 'customer_order.id', '=', 'cod.order_id');
 | |
|             $model->addSelect(DB::raw('cod.*'));
 | |
| 
 | |
|             // 发货统计
 | |
|             $model->leftJoin(DB::raw('(select max(m.invoice_dt) delivery_date, SUM(ISNULL(d.quantity, 0)) yfh_num, d.sale_id
 | |
|                     FROM stock_delivery_data as d
 | |
|                     left join stock_delivery m on m.id = d.delivery_id
 | |
|                     GROUP BY d.sale_id
 | |
|                 ) sdd
 | |
|             '), 'customer_order.id', '=', 'sdd.sale_id');
 | |
|             $model->addSelect(DB::raw('sdd.*,cod.dd_num - sdd.yfh_num as wfh_num'));
 | |
| 
 | |
|             foreach ($search['where'] as $where) {
 | |
|                 if ($where['active']) {
 | |
|                     $model->search($where);
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             if ($region['authorise']) {
 | |
|                 foreach ($region['whereIn'] as $key => $where) {
 | |
|                     $model->whereIn($key, $where);
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             $rows = $model->paginate($query['limit'])->appends($query);
 | |
|             return Grid::dataFilters($rows, $header);
 | |
|         }
 | |
| 
 | |
|         return $this->display([
 | |
|             'header' => $header,
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 订单明细列表
 | |
|      */
 | |
|     public function detail()
 | |
|     {
 | |
|         // 客户权限
 | |
|         $region = regionCustomer('customer_id_customer');
 | |
| 
 | |
|         $header = Grid::header([
 | |
|             'code' => 'customer_order',
 | |
|             'referer' => 1,
 | |
|             'template_id' => 52,
 | |
|             'search' => ['by' => ''],
 | |
|         ]);
 | |
| 
 | |
|         $search = $header['search_form'];
 | |
|         $query = $search['query'];
 | |
| 
 | |
|         $cols = $header['cols'];
 | |
|         // 自定义列
 | |
|         $customFields = [
 | |
|             'delivery_date' => [
 | |
|                 'headerName' => '发货日期',
 | |
|                 'field' => 'delivery_date',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 100,
 | |
|                 'sortable' => false,
 | |
|                 'suppressMenu' => true,
 | |
|                 'cellStyle' => ['text-align' => 'center'],
 | |
|             ],
 | |
|             'delivery_sn' => [
 | |
|                 'headerName' => '发货单号',
 | |
|                 'field' => 'delivery_sn',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 140,
 | |
|                 'sortable' => false,
 | |
|                 'suppressMenu' => true,
 | |
|                 'cellStyle' => ['text-align' => 'center'],
 | |
|             ],
 | |
|             'yfh_num' => [
 | |
|                 'headerName' => '已发数量',
 | |
|                 'field' => 'yfh_num',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'wfh_num' => [
 | |
|                 'headerName' => '未发数量',
 | |
|                 'field' => 'wfh_num',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ]
 | |
|         ];
 | |
| 
 | |
|         $cols = Grid::addColumns($cols, 'master_warehouse_contact', $customFields);
 | |
| 
 | |
|         $cols['actions']['options'] = [[
 | |
|             'name' => '显示',
 | |
|             'action' => 'show',
 | |
|             'display' => $this->access['show'],
 | |
|         ]];
 | |
| 
 | |
|         $header['buttons'] = [
 | |
|             ['name' => '导出', 'icon' => 'fa-share', 'action' => 'export', 'display' => 1],
 | |
|         ];
 | |
| 
 | |
|         $header['cols'] = $cols;
 | |
|         $header['tabs'] = CustomerOrder::$tabs2;
 | |
|         $header['bys'] = CustomerOrder::$bys;
 | |
| 
 | |
|         if (Request::method() == 'POST') {
 | |
| 
 | |
|             $model = DB::table($header['table'])->setBy($header);
 | |
|             foreach ($header['join'] as $join) {
 | |
|                 $model->leftJoin($join[0], $join[1], $join[2], $join[3]);
 | |
|             }
 | |
| 
 | |
|             // 查询已发信息
 | |
|             $model->leftJoin(DB::raw('(select m.sn delivery_sn, m.invoice_dt delivery_date, SUM(ISNULL(d.quantity, 0)) yf_num, d.sale_data_id
 | |
|                     FROM stock_delivery_data d
 | |
|                     left join stock_delivery m on m.id = d.delivery_id
 | |
|                     GROUP BY d.sale_data_id, m.sn, m.invoice_dt
 | |
|                 ) sdd
 | |
|             '), 'customer_order_data.id', '=', 'sdd.sale_data_id');
 | |
| 
 | |
|             // 查询调拨单
 | |
|             $model->leftJoin(DB::raw('(select m.sn delivery_sn, m.invoice_dt delivery_date, SUM(ISNULL(d.quantity, 0)) yf_num, d.sale_data_id
 | |
|                     FROM stock_allocation_data d
 | |
|                     left join stock_allocation m on m.id = d.allocation_id
 | |
|                     GROUP BY d.sale_data_id,m.sn,m.invoice_dt
 | |
|                 ) sad
 | |
|             '), 'customer_order_data.id', '=', 'sad.sale_data_id');
 | |
| 
 | |
|             $model->orderBy($header['sort'], $header['order']);
 | |
| 
 | |
|             foreach ($search['where'] as $where) {
 | |
|                 if ($where['active']) {
 | |
|                     $model->search($where);
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             if ($region['authorise']) {
 | |
|                 foreach ($region['whereIn'] as $key => $where) {
 | |
|                     $model->whereIn($key, $where);
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             $model->selectRaw('isnull(sdd.delivery_sn, sad.delivery_sn) delivery_sn, isnull(sdd.delivery_date, sad.delivery_date) delivery_date, isnull(sdd.yf_num, 0) + isnull(sad.yf_num, 0) as yfh_num, customer_order_data.delivery_quantity - isnull(sdd.yf_num, 0) - isnull(sad.yf_num, 0) as wfh_num');
 | |
|             $model->addSelect($header['select']);
 | |
| 
 | |
|             $rows = $model->paginate($query['limit'])->appends($query);
 | |
|             return Grid::dataFilters($rows, $header);
 | |
|         }
 | |
| 
 | |
|         return $this->display([
 | |
|             'header' => $header,
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 发货计划
 | |
|      */
 | |
|     public function delivery()
 | |
|     {
 | |
|         // 客户权限
 | |
|         $region = regionCustomer('customer_id_customer');
 | |
| 
 | |
|         $header = Grid::header([
 | |
|             'code' => 'customer_order',
 | |
|             'referer' => 1,
 | |
|             'template_id' => '89',
 | |
|             'search' => ['by' => ''],
 | |
|         ]);
 | |
| 
 | |
|         $search = $header['search_form'];
 | |
|         $query = $search['query'];
 | |
| 
 | |
|         $cols = $header['cols'];
 | |
| 
 | |
|         // 自定义列
 | |
|         $customFields = [
 | |
|             'pt_num' => [
 | |
|                 'headerName' => '数量',
 | |
|                 'field' => 'pt_num',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'pt_money' => [
 | |
|                 'headerName' => '金额',
 | |
|                 'field' => 'pt_money',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'wl_num' => [
 | |
|                 'headerName' => '物料数量',
 | |
|                 'field' => 'wl_num',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'wl_money' => [
 | |
|                 'headerName' => '物料金额',
 | |
|                 'field' => 'wl_money',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'other_money' => [
 | |
|                 'headerName' => '其他金额',
 | |
|                 'field' => 'other_money',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'total_weight' => [
 | |
|                 'headerName' => '重量合计(kg)',
 | |
|                 'field' => 'total_weight',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 110,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             /*
 | |
|             'delivery_date' => [
 | |
|                 'headerName' => '发货日期',
 | |
|                 'field' => 'delivery_date',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 100,
 | |
|                 'sortable' => false,
 | |
|                 'suppressMenu' => true,
 | |
|                 'cellStyle' => ['text-align' => 'center'],
 | |
|             ],
 | |
|             'delivery_sn' => [
 | |
|                 'headerName' => '发货单号',
 | |
|                 'field' => 'delivery_sn',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 140,
 | |
|                 'sortable' => false,
 | |
|                 'suppressMenu' => true,
 | |
|                 'cellStyle' => ['text-align' => 'center'],
 | |
|             ],
 | |
|             */
 | |
|             'yfh_num' => [
 | |
|                 'headerName' => '已发数量',
 | |
|                 'field' => 'yfh_num',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ],
 | |
|             'wfh_num' => [
 | |
|                 'headerName' => '未发数量',
 | |
|                 'field' => 'wfh_num',
 | |
|                 'calcFooter' => 'sum',
 | |
|                 'width' => 80,
 | |
|                 'suppressMenu' => true,
 | |
|                 'type' => 'number',
 | |
|                 'cellStyle' => ['text-align' => 'right'],
 | |
|             ]
 | |
|         ];
 | |
| 
 | |
|         $cols = Grid::addColumns($cols, 'master_warehouse_contact', $customFields);
 | |
| 
 | |
|         $cols['actions']['options'] = [[
 | |
|             'name' => '显示',
 | |
|             'action' => 'show',
 | |
|             'display' => $this->access['show'],
 | |
|         ]];
 | |
| 
 | |
|         $header['buttons'] = [
 | |
|             ['name' => '导出', 'icon' => 'fa-share', 'action' => 'export', 'display' => 1],
 | |
|         ];
 | |
| 
 | |
|         $header['left_buttons'] = [
 | |
|             ['name' => '修改预计发货日期', 'color' => 'default', 'icon' => 'fa-file-text-o', 'action' => 'deliveryPlan', 'display' => $this->access['deliveryPlan']],
 | |
|             ['name' => '修改物流信息', 'color' => 'default', 'action' => 'logisticsPlan', 'display' => $this->access['logisticsPlan']],
 | |
|             ['name' => '修改运费支付方式', 'color' => 'default', 'action' => 'deliveryEdit', 'display' => $this->access['deliveryEdit']],
 | |
|         ];
 | |
| 
 | |
|         $header['cols'] = $cols;
 | |
|         $header['tabs'] = CustomerOrder::$tabs3;
 | |
|         $header['bys'] = CustomerOrder::$bys;
 | |
| 
 | |
|         if (Request::method() == 'POST') {
 | |
|             $model = DB::table($header['table'])->setBy($header);
 | |
|             foreach ($header['join'] as $join) {
 | |
|                 $model->leftJoin($join[0], $join[1], $join[2], $join[3]);
 | |
|             }
 | |
| 
 | |
|             $model->select($header['select']);
 | |
| 
 | |
|             $model->leftJoin('model_run', 'model_run.data_id', '=', 'customer_order.id')
 | |
|             ->where('model_run.bill_id', 23);
 | |
| 
 | |
|             // 订单统计
 | |
|             $model->leftJoin(DB::raw("(select
 | |
|                 Sum(case when p.material_type > 0 then d.money else 0 end) as wl_money,
 | |
|                 Sum(case when p.material_type > 0 then d.delivery_quantity else 0 end) as wl_num,
 | |
|                 Sum(case when ISNULL(p.material_type, 0) = 0 then d.delivery_quantity * d.price else 0 end) as pt_money,
 | |
|                 Sum(case when ISNULL(p.material_type, 0) = 0 then d.delivery_quantity else 0 end) as pt_num,
 | |
|                 Sum(d.other_money) as other_money,
 | |
|                 Sum(d.delivery_quantity * p.weight) as total_weight,
 | |
|                 SUM(ISNULL(d.delivery_quantity, 0)) dd_num, d.order_id
 | |
|                 FROM customer_order_data as d
 | |
|                 LEFT JOIN product as p on p.id = d.product_id
 | |
|                 LEFT JOIN customer_order as co on co.id = d.order_id
 | |
|                 LEFT JOIN customer as c on c.id = co.customer_id
 | |
|                 GROUP BY d.order_id
 | |
|             ) cod
 | |
|             "), 'customer_order.id', '=', 'cod.order_id');
 | |
|             $model->addSelect(DB::raw('cod.*'));
 | |
| 
 | |
|             // 发货统计
 | |
|             $model->leftJoin(DB::raw('(select SUM(ISNULL(d.quantity, 0)) yfh_num, d.sale_id
 | |
|                     FROM stock_delivery_data as d
 | |
|                     GROUP BY d.sale_id
 | |
|                 ) sdd
 | |
|             '), 'customer_order.id', '=', 'sdd.sale_id');
 | |
|             $model->addSelect(DB::raw('sdd.*,cod.dd_num - sdd.yfh_num as wfh_num'));
 | |
| 
 | |
|             $model->orderByRaw('ISNULL(model_run.actived_at, 0) desc');
 | |
|             $model->orderBy($header['sort'], $header['order']);
 | |
|         
 | |
|             foreach ($search['where'] as $where) {
 | |
|                 if ($where['active']) {
 | |
|                     $model->search($where);
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             if ($region['authorise']) {
 | |
|                 foreach ($region['whereIn'] as $key => $where) {
 | |
|                     $model->whereIn($key, $where);
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             $rows = $model->paginate($query['limit'])->appends($query);
 | |
|             return Grid::dataFilters($rows, $header);
 | |
|         }
 | |
| 
 | |
|         return $this->display([
 | |
|             'header' => $header,
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 获取发货计划明细
 | |
|      */
 | |
|     public function deliveryPlan()
 | |
|     {
 | |
|         $query = Request::all();
 | |
|         if (Request::method() == 'POST') {
 | |
|             $rows = ProduceService::getPreShipDate($query['id'], $query['date']);
 | |
|             return ['data' => $rows];
 | |
|         }
 | |
|         return $this->render([
 | |
|             'query' => $query,
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *  修改运费支付方式
 | |
|      */
 | |
|     public function deliveryEdit()
 | |
|     {
 | |
|         $gets = Request::all();
 | |
|         if (Request::method() == 'POST') {
 | |
|             $id = $gets['id'];
 | |
|             $delivery = $gets['delivery'];
 | |
|             DB::table('customer_order')->where('id', $id)->update($delivery);
 | |
|             return $this->json('修改运费支付方式。', true);
 | |
|         }
 | |
|         $order = DB::table('customer_order')->where('id', $gets['id'])->first();
 | |
|         $gets['freight_pay_text'] = empty($order['freight_pay_text']) ? '回单付,送货' : $order['freight_pay_text'];
 | |
|         return $this->render([
 | |
|             'gets' => $gets,
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *  修改物流信息
 | |
|      */
 | |
|     public function logisticsPlan()
 | |
|     {
 | |
|         $gets = Request::all();
 | |
|         if (Request::method() == 'POST') {
 | |
|             $ids = explode(',', $gets['ids']);
 | |
|             $delivery = $gets['delivery'];
 | |
|             $data = [];
 | |
|             if ($delivery['plan_delivery_dt']) {
 | |
|                 $data['plan_delivery_dt'] = $delivery['plan_delivery_dt'];
 | |
|             }
 | |
|             if ($delivery['freight_short_logistics_id']) {
 | |
|                 $data['freight_short_logistics_id'] = $delivery['freight_short_logistics_id'];
 | |
|             }
 | |
|             if ($delivery['freight_short_car']) {
 | |
|                 $data['freight_short_car'] = $delivery['freight_short_car'];
 | |
|             }
 | |
|             DB::table('customer_order')->whereIn('id', $ids)->update($data);
 | |
|             return $this->json('物流信息修改成功。', true);
 | |
|         }
 | |
|         return $this->render([
 | |
|             'gets' => $gets,
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 修改发货计划日期
 | |
|      */
 | |
|     public function deliveryPlanDate()
 | |
|     {
 | |
|         $query = Request::all();
 | |
|         if (Request::method() == 'POST') {
 | |
|             $order = CustomerOrder::find($query['id']);
 | |
|             $order->plan_delivery_dt = $query['date'];
 | |
|             $order->save();
 | |
|             return $this->json('保存数据成功。', true);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public function create($action = 'edit')
 | |
|     {
 | |
|         $id = (int) Request::get('id');
 | |
|         $header['action'] = $action;
 | |
|         $header['code'] = 'customer_order';
 | |
|         $header['id'] = $id;
 | |
| 
 | |
|         // 客户权限
 | |
|         $header['region'] = ['field' => 'customer_id'];
 | |
|         $header['authorise'] = ['action' => 'index', 'field' => 'created_id'];
 | |
| 
 | |
|         $header['select'] = '
 | |
|             product_id_product.weight,
 | |
|             product_id_product.weight * customer_order_data.delivery_quantity as total_weight,
 | |
|             customer_order_data.fee_src_id,
 | |
|             customer_order_data.fee_data_id
 | |
|         ';
 | |
|         $form = Form::make($header);
 | |
|         $tpl = $action == 'print' ? 'print' : 'create';
 | |
|         return $this->display(['form' => $form], $tpl);
 | |
|     }
 | |
| 
 | |
|     public function edit()
 | |
|     {
 | |
|         return $this->create();
 | |
|     }
 | |
| 
 | |
|     public function audit()
 | |
|     {
 | |
|         return $this->create('audit');
 | |
|     }
 | |
| 
 | |
|     public function show()
 | |
|     {
 | |
|         return $this->create('show');
 | |
|     }
 | |
| 
 | |
|     // 批量编辑
 | |
|     public function batchEdit()
 | |
|     {
 | |
|         $gets = Request::all();
 | |
|         if (Request::method() == 'POST') {
 | |
|             $ids = explode(',', $gets['ids']);
 | |
|             DB::table('customer_order')->whereIn('id', $ids)->update([
 | |
|                 $gets['field'] => $gets['search_0'],
 | |
|             ]);
 | |
|             return $this->json('修改完成。', true);
 | |
|         }
 | |
|         $header = Grid::batchEdit([
 | |
|             'code' => 'customer_order',
 | |
|             'columns' => ['customer_id', 'tax_id'],
 | |
|         ]);
 | |
|         return view('batchEdit', [
 | |
|             'gets' => $gets,
 | |
|             'header' => $header
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     public function print()
 | |
|     {
 | |
|         $id = Request::get('id');
 | |
|         $template_id = Request::get('template_id');
 | |
|         $template = DB::table('model_template')->where('id', $template_id)->first();
 | |
|         $print_type = $template['print_type'];
 | |
|         $this->layout = 'layouts.print_'.$print_type;
 | |
|         
 | |
|         if ($print_type == 'stiReport') {
 | |
|             $data = OrderService::getPrintData($id);
 | |
|             $print_data = [
 | |
|                 'master' => [$data['master']],
 | |
|                 'customer_order_data' => $data['rows'],
 | |
|             ];
 | |
|             return $this->display([
 | |
|                 'template' => $template,
 | |
|                 'print_data' => $print_data,
 | |
|             ]);
 | |
|         } else {
 | |
|             $print_tpl = view()->exists(Request::controller().'.print.'.$template_id);
 | |
|             if ($print_tpl) {
 | |
|                 $data = OrderService::getPrintData($id);
 | |
|                 $data['template'] = $template;
 | |
|                 $tpl = $this->display($data, 'print/'.$template_id);
 | |
|             } else {
 | |
|                 $tpl = $this->create('print');
 | |
|             }
 | |
|             return $print_type == 'pdf' ? print_prince($tpl) : $tpl;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public function dialog()
 | |
|     {
 | |
|         $header = Grid::header([
 | |
|             'code' => 'customer_order',
 | |
|             'view_type' => 'dialog',
 | |
|         ]);
 | |
|         $search = $header['search_form'];
 | |
|         $query = $search['query'];
 | |
| 
 | |
|         if (Request::method() == 'POST') {
 | |
|             $model = DB::table($header['table']);
 | |
|             foreach ($header['join'] as $join) {
 | |
|                 $model->leftJoin($join[0], $join[1], $join[2], $join[3]);
 | |
|             }
 | |
|             $model->leftJoin('customer_order_data as cod', 'cod.order_id', '=', 'customer_order.id');
 | |
|             $model->where('cod.use_close', 0);
 | |
| 
 | |
|             $model->orderBy($header['sort'], $header['order']);
 | |
| 
 | |
|             foreach ($search['where'] as $where) {
 | |
|                 if ($where['active']) {
 | |
|                     $model->search($where);
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             // 客户权限
 | |
|             $region = regionCustomer();
 | |
|             if ($region['authorise']) {
 | |
|                 foreach ($region['whereIn'] as $key => $where) {
 | |
|                     $model->whereIn($key, $where);
 | |
|                 }
 | |
|             }
 | |
| 
 | |
|             if (isset($query['status'])) {
 | |
|                 $model->where('customer_order.status', $query['status']);
 | |
|             }
 | |
| 
 | |
|             if (isset($query['customer_id'])) {
 | |
|                 $model->where('customer_order.customer_id', $query['customer_id']);
 | |
|             }
 | |
| 
 | |
|             $limit = $query['limit'] > 0 ? $query['limit'] : 50;
 | |
|             $header['select'][] = 'sum(cod.money) as total_money';
 | |
|             $header['select'][] = 'customer_id_customer.code as customer_code';
 | |
| 
 | |
|             $header['raw_select'][] = 'customer_id_customer.code';
 | |
|             $model->groupBy(DB::raw(join(',', $header['raw_select'])));
 | |
|             
 | |
|             $model->selectRaw(join(',', $header['select']));
 | |
|             $rows = $model->paginate();
 | |
|             $items = Grid::dataFilters($rows, $header, function($item) {
 | |
|                 $item['text'] = $item['name'];
 | |
|                 return $item;
 | |
|             });
 | |
|             return $items;
 | |
|         }
 | |
|         return $this->render([
 | |
|             'search' => $search,
 | |
|             'query' => $query,
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 参照到促销申请
 | |
|      */
 | |
|     public function servicePromotion()
 | |
|     {
 | |
|         $search = search_form([], [
 | |
|             ['text','customer.name','客户名称'],
 | |
|             ['text','customer.code','客户编码'],
 | |
|         ]);
 | |
|         $query = $search['query'];
 | |
| 
 | |
|         if (Request::method() == 'POST') {
 | |
| 
 | |
|             if ($query['master']) {
 | |
|                 $model = DB::table('customer_order as m')
 | |
|                 ->leftJoin('customer_order_data as d', 'm.id', '=', 'd.order_id')
 | |
|                 ->leftJoin('product', 'product.id', '=', 'd.product_id')
 | |
|                 ->leftJoin('customer', 'customer.id', '=', 'm.customer_id');
 | |
| 
 | |
|                 // 如果促销已经关联了就不显示订单了
 | |
|                 // type_id 是否要处理相同的类型
 | |
|                 if ($query['type_id'] == 1 || $query['type_id'] == 2) {
 | |
|                     $model->whereRaw("m.id not in(select order_id from promotion where isnull(is_close, 0) = 0 and type_id = ? and (order_id is not null and order_id <> ?))", [(int)$query['type_id'], (int)$query['order_id']]);
 | |
|                 }
 | |
| 
 | |
|                 foreach ($search['where'] as $where) {
 | |
|                     if ($where['active']) {
 | |
|                         $model->search($where);
 | |
|                     }
 | |
|                 }
 | |
|                 if (isset($query['customer_id'])) {
 | |
|                     $model->where('m.customer_id', (int)$query['customer_id']);
 | |
|                 }
 | |
|         
 | |
|                 if ($query['type_id'] > 0) {
 | |
|                     // 物资促销1 赠品促销2 其他费用3
 | |
|                     if ($query['type_id'] == 1) {
 | |
|                         $model->where('product.material_type', '>', 0);
 | |
|                     }
 | |
|                 }
 | |
| 
 | |
|                 // 客户权限
 | |
|                 $region = regionCustomer();
 | |
|                 if ($region['authorise']) {
 | |
|                     foreach ($region['whereIn'] as $key => $where) {
 | |
|                         $model->whereIn($key, $where);
 | |
|                     }
 | |
|                 }
 | |
|                 $model->groupBy(DB::raw('m.id, m.sn, m.created_at, customer.code, customer.name'))
 | |
|                 ->selectRaw("m.id, m.sn, m.created_at, customer.code customer_code, customer.name customer_name, sum(d.money) as total_money");
 | |
|                 $rows = $model->get();
 | |
|             } else {
 | |
|                 $model = DB::table('customer_order_data')
 | |
|                 ->leftJoin('product', 'product.id', '=', 'customer_order_data.product_id')
 | |
|                 ->leftJoin('customer_order', 'customer_order.id', '=', 'customer_order_data.order_id')
 | |
|                 ->leftJoin('product_unit', 'product_unit.id', '=', 'product.unit_id')
 | |
|                 ->leftJoin('customer_order_type', 'customer_order_type.id', '=', 'customer_order_data.type_id')
 | |
|                 ->whereIn('customer_order.id', (array)$query['ids']);
 | |
| 
 | |
|                 if (isset($query['customer_id'])) {
 | |
|                     $model->where('customer_order.customer_id', (int)$query['customer_id']);
 | |
|                 }
 | |
|                 if ($query['type_id'] > 0) {
 | |
|                     // 物资促销1 赠品促销2 其他费用3
 | |
|                     // 物资促销时只显示物料产品
 | |
|                     if ($query['type_id'] == 1) {
 | |
|                         $model->whereRaw('product.material_type > 0');
 | |
|                     }
 | |
|                 }
 | |
| 
 | |
|                 $model->selectRaw("
 | |
|                     customer_order_data.*,
 | |
|                     customer_order_data.delivery_quantity as quantity,
 | |
|                     product.name as product_name,
 | |
|                     product.spec as product_spec,
 | |
|                     product.code as product_code,
 | |
|                     product.barcode as product_barcode,
 | |
|                     product.unit_id as unit_id,
 | |
|                     product_unit.name as product_unit
 | |
|                 ");
 | |
|                 $rows = $model->get();
 | |
|             }
 | |
|             return ['data' => $rows];
 | |
|         }
 | |
|         return $this->render([
 | |
|             'search' => $search,
 | |
|             'query' => $query,
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     // 发货参照订单
 | |
|     public function serviceDelivery()
 | |
|     {
 | |
|         $date = date("Y-m-d", strtotime("+1 day"));
 | |
|         $search = search_form(
 | |
|             ['advanced' => ''], [
 | |
|                 ['form_type' => 'date', 'name' => '预计发货日期', 'field' => 'customer_order.plan_delivery_dt', 'options' => []],
 | |
|                 ['form_type' => 'text', 'name' => '订单编号', 'field' => 'customer_order.sn', 'options' => []],
 | |
|                 ['form_type' => 'text', 'name' => '所属客户', 'field' => 'customer.name', 'options' => []],
 | |
|                 ['form_type' => 'text', 'name' => '开票名称', 'field' => 'customer_tax.name', 'options' => []],
 | |
|                 ['form_type' => 'text', 'name' => '客户编码', 'field' => 'customer.code', 'options' => []]
 | |
|         ], 'model');
 | |
| 
 | |
|         $query = $search['query'];
 | |
| 
 | |
|         if (Request::method() == 'POST') {
 | |
| 
 | |
|             if ($query['is_direct'] == 1) {
 | |
|                 $detail = OrderService::getSaleOrderSelectDetailReqSql();
 | |
|             } else {
 | |
|                 $detail = OrderService::getSaleOrderSelectDetailSql();
 | |
|             }
 | |
| 
 | |
|             if ($query['master']) {
 | |
|                 $model = DB::table('customer_order')
 | |
|                 ->whereRaw('customer_order.id in (select sale_id from ('.$detail.') b where sale_id = customer_order.id)')
 | |
|                 ->leftJoin('customer', 'customer.id', '=', 'customer_order.customer_id')
 | |
|                 ->leftJoin('customer_tax', 'customer_tax.id', '=', 'customer_order.tax_id')
 | |
|                 ->whereRaw('customer_order.status = 1')
 | |
|                 ->orderBy('customer_order.id', 'desc');
 | |
| 
 | |
|                 foreach ($search['where'] as $where) {
 | |
|                     if ($where['active']) {
 | |
|                         $model->search($where);
 | |
|                     }
 | |
|                 }
 | |
| 
 | |
|                 $model->selectRaw('
 | |
|                     customer_order.*,
 | |
|                     customer.code as customer_code,
 | |
|                     customer.name as customer_name,
 | |
|                     customer_tax.name as tax_name
 | |
|                 ');
 | |
|                 $rows = $model->get();
 | |
|             } else {
 | |
|                 $model = DB::query()->selectRaw('* FROM('.$detail.') as a');
 | |
|                 $rows = $model->whereIn('sale_id', (array)$query['ids'])->get(['*', 'sale_data_id as id'])->toArray();
 | |
|             }
 | |
|             return $this->json($rows, true);
 | |
|         }
 | |
| 
 | |
|         return $this->render([
 | |
|             'search' => $search,
 | |
|             'query' => $query,
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     // 未发货订单(参照)
 | |
|     public function serviceNotDelivery()
 | |
|     {
 | |
|         $search = search_form(
 | |
|             ['advanced' => ''], [
 | |
|                 ['form_type' => 'text', 'name' => '客户名称', 'field' => 'customer.name', 'options' => []],
 | |
|                 ['form_type' => 'text', 'name' => '客户编码', 'field' => 'customer.code', 'options' => []],
 | |
|                 ['form_type' => 'text', 'name' => '订单编码', 'field' => 'customer_order.sn', 'options' => []]
 | |
|         ], 'model');
 | |
| 
 | |
|         $query = $search['query'];
 | |
| 
 | |
|         if (Request::method() == 'POST') {
 | |
| 
 | |
|             // 客户权限
 | |
|             $region = regionCustomer();
 | |
| 
 | |
|             if ($query['master']) {
 | |
|                 $model = DB::table('customer_order')
 | |
|                 ->whereRaw('exists (select sale_id from ('.OrderService::getSaleOrderSelectDetailNotDeliverySql().') d where customer_order.id = d.sale_id)')
 | |
|                 ->leftJoin('customer', 'customer.id', '=', 'customer_order.customer_id')
 | |
|                 ->orderBy('customer_order.id', 'desc');
 | |
| 
 | |
|                 foreach ($search['where'] as $where) {
 | |
|                     if ($where['active']) {
 | |
|                         $model->search($where);
 | |
|                     }
 | |
|                 }
 | |
| 
 | |
|                 if ($region['authorise']) {
 | |
|                     foreach ($region['whereIn'] as $key => $where) {
 | |
|                         $model->whereIn($key, $where);
 | |
|                     }
 | |
|                 }
 | |
| 
 | |
|                 $model->selectRaw('
 | |
|                     customer_order.*,
 | |
|                     customer.code as customer_code, 
 | |
|                     customer.name as customer_name
 | |
|                 ');
 | |
|                 $rows = $model->get();
 | |
|             } else {
 | |
|                 $model = DB::query()->selectRaw('* FROM('.OrderService::getSaleOrderSelectDetailNotDeliverySql().') as a');
 | |
|                 $rows = $model->whereIn('sale_id', (array)$query['ids'])->get(['*', 'sale_data_id as id'])->toArray();
 | |
|             }
 | |
|             return $this->json($rows, true);
 | |
|         }
 | |
| 
 | |
|         return $this->render([
 | |
|             'search' => $search,
 | |
|             'query' => $query,
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     // 订单退货(参照)
 | |
|     public function serviceCancelOrder()
 | |
|     {
 | |
|         $search = search_form(
 | |
|             ['advanced' => ''], [
 | |
|                 ['form_type' => 'text', 'name' => '客户名称', 'field' => 'customer.name', 'options' => []],
 | |
|                 ['form_type' => 'text', 'name' => '客户编码', 'field' => 'customer.code', 'options' => []]
 | |
|         ], 'model');
 | |
| 
 | |
|         $query = $search['query'];
 | |
| 
 | |
|         if (Request::method() == 'POST') {
 | |
| 
 | |
|             if ($query['master']) {
 | |
|                 $model = DB::table('customer_order')
 | |
|                 ->leftJoin('customer', 'customer.id', '=', 'customer_order.customer_id')
 | |
|                 ->orderBy('customer_order.id', 'desc');
 | |
| 
 | |
|                 foreach ($search['where'] as $where) {
 | |
|                     if ($where['active']) {
 | |
|                         $model->search($where);
 | |
|                     }
 | |
|                 }
 | |
| 
 | |
|                 $model->selectRaw('
 | |
|                     customer_order.*,
 | |
|                     customer.code as customer_code,
 | |
|                     customer.name as customer_name
 | |
|                 ');
 | |
|                 $rows = $model->get();
 | |
|             } else {
 | |
|                 $rows = DB::table('customer_order_data as d')->whereIn('d.order_id', (array)$query['ids'])
 | |
|                 ->leftJoin('customer_order_type as cot', 'cot.id', '=', 'd.type_id')
 | |
|                 ->leftJoin('customer_order as m', 'm.id', '=', 'd.order_id')
 | |
|                 ->leftJoin('product', 'product.id', '=', 'd.product_id')
 | |
|                 ->leftJoin('product_unit', 'product_unit.id', '=', 'product.unit_id')
 | |
|                 ->selectRaw('
 | |
|                     d.product_id,
 | |
|                     d.quantity,
 | |
|                     d.price,
 | |
|                     d.weight,
 | |
|                     d.batch_sn,
 | |
|                     d.batch_date,
 | |
|                     d.fee_data_id,
 | |
|                     d.fee_src_id,
 | |
|                     d.fee_src_type_id,
 | |
|                     d.fee_src_sn,
 | |
|                     d.promotion_sn,
 | |
|                     d.promotion_data_id,
 | |
|                     d.order_id,
 | |
|                     m.sn as sale_sn,
 | |
|                     d.type_id,
 | |
|                     cot.name as type_id_name,
 | |
|                     product.code as product_code,
 | |
|                     product.name as product_name,
 | |
|                     product.barcode as product_barcode,
 | |
|                     product.spec as product_spec,
 | |
|                     product_unit.name as product_unit
 | |
|                 ')
 | |
|                 ->get();
 | |
|             }
 | |
|             return $this->json($rows, true);
 | |
|         }
 | |
| 
 | |
|         return $this->render([
 | |
|             'search' => $search,
 | |
|             'query' => $query,
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     public function serviceCustomerMoney()
 | |
|     {
 | |
|         $tax_id = Request::get('tax_id');
 | |
|         $tax = DB::table('customer_tax')->where('id', $tax_id)->first();
 | |
| 
 | |
|         $accMoney = 0;
 | |
|         $freMoney = 0;
 | |
|         $lockMoney = 0;
 | |
|         $avaMoney = 0;
 | |
| 
 | |
|         if ($tax) {
 | |
|             // 获取外部接口数据
 | |
|             $a = plugin_sync_api('getAccInfo/code/'.$tax['code']);
 | |
|             $b = CustomerService::getLockMoney($tax['id']);
 | |
| 
 | |
|             $accMoney = floatval($a['deARBal']);
 | |
|             $freMoney = floatval($a['iFreMoney']);
 | |
|             $lockMoney = floatval($b[0]['money']);
 | |
|             $avaMoney = floatval($accMoney - $lockMoney);
 | |
|         }
 | |
|         $data = [
 | |
|             'accMoney' => $accMoney,
 | |
|             'freMoney' => $freMoney,
 | |
|             'lockMoney' => $lockMoney,
 | |
|             'avaMoney' => $avaMoney,
 | |
|         ];
 | |
|         return $data;
 | |
|     }
 | |
| 
 | |
|     public function delete()
 | |
|     {
 | |
|         if (Request::method() == 'POST') {
 | |
|             $id = Request::get('id');
 | |
|             return Form::remove(['code' => 'customer_order', 'ids' => $id]);
 | |
|         }
 | |
|     }
 | |
| }
 |