Commit 37068b3e authored by hangjun83's avatar hangjun83

发票相关接口

parent aa28d083
...@@ -39,4 +39,21 @@ class BhuaInvoiceItemsRepositoryEloquent extends BaseRepository implements BhuaI ...@@ -39,4 +39,21 @@ class BhuaInvoiceItemsRepositoryEloquent extends BaseRepository implements BhuaI
return $invoiceItemInfo; return $invoiceItemInfo;
} }
public function getInvoiceSorderItemsBySoItemsId($itemId)
{
$invoiceItemInfo = null;
$invoiceItemInfo = $this->join('dpdetail', 'dpdetail.dpd_id', 'soidetail.dpd_id')
->join('soitems', 'soitems.si_id', 'dpdetail.si_id')
->join('sorders', 'sorders.so_id', 'soitems.so_id')
->join('products', 'products.p_id', 'soitems.p_id')
->whereIn('soidetail.soid_id', $itemId)
/*->select(
'soidetail.soi_id','soidetail.soid_id', 'soidetail.soid_amount', 'dpdetail.dpd_num',
'products.p_code', 'products.p_cn_name', 'products.p_pack', 'products.p_pack_unit', 'products.p_price'
)*/->get()->toArray();
return $invoiceItemInfo;
}
} }
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
namespace App\Http\Controllers\V1\Rhawn; namespace App\Http\Controllers\V1\Rhawn;
use App\Services\Api\RhawnInvoicesService; use App\Services\Api\InvoicesService;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Jiannei\Response\Laravel\Support\Facades\Response; use Jiannei\Response\Laravel\Support\Facades\Response;
use App\Http\Controllers\V1\Controller; use App\Http\Controllers\V1\Controller;
...@@ -30,7 +30,7 @@ class InvoiceController extends Controller ...@@ -30,7 +30,7 @@ class InvoiceController extends Controller
{ {
use Helpers; use Helpers;
public function __construct(RhawnInvoicesService $rhawnInvoicesService) public function __construct(InvoicesService $rhawnInvoicesService)
{ {
$this->rhawnInvoicesService= $rhawnInvoicesService; $this->rhawnInvoicesService= $rhawnInvoicesService;
$this->controllerType = 'rhawn'; $this->controllerType = 'rhawn';
......
<?php
/*
* This file is part of the Jiannei/lumen-api-starter.
*
* (c) Jiannei <longjian.huang@foxmail.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace App\Rhawn\Repositories\Contracts;
use Prettus\Repository\Contracts\RepositoryInterface;
/**
* Interface UserRepository.
*/
interface BhuaInvoiceRepository extends RepositoryInterface
{
}
<?php
namespace App\Rhawn\Repositories\Eloquent;
use App\Rhawn\Repositories\Contracts\BhuaInvoiceRepository;
use App\Rhawn\Repositories\Contracts\RhawnInvoiceRepository;
use App\Rhawn\Repositories\Models\BhuaInvoice;
class BhuaInvoiceRepositoryEloquent extends BaseRepository implements BhuaInvoiceRepository
{
/**
* Specify Model class name.
*
* @return string
*/
public function model()
{
return BhuaInvoice::class;
}
public function getInvoiceItemsByInvoiceNumber($invoiceNumber)
{
$invoiceDetailInfo = $this
->join('soidetail','soinvoice.soi_id','soidetail.soi_id')
->where('soinvoice.soi_no','=',$invoiceNumber)
->get()->toArray();
if(!$invoiceDetailInfo){
return null;
}
return $invoiceDetailInfo;
}
}
<?php
/*
* This file is part of the Jiannei/lumen-api-starter.
*
* (c) Jiannei <longjian.huang@foxmail.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace App\Rhawn\Repositories\Models;
use App\Repositories\Models\Model;
class BhuaInvoice extends Model
{
// 销售订单
protected $table = 'soinvoice';
protected $connection = 'bh_mysql';
protected $primaryKey = 'soi_id';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
];
protected $guarded = ['created_at', 'updated_at'];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = [
];
/**
* update时不做自动更新时间操作
* @return null
*/
public function getUpdatedAtColumn()
{
return null;
}
public function getCreatedAtColumn()
{
return null;
}
}
\ No newline at end of file
...@@ -13,16 +13,18 @@ namespace App\Services\Api; ...@@ -13,16 +13,18 @@ namespace App\Services\Api;
use App\Finance\Services\InvoiceService; use App\Finance\Services\InvoiceService;
use App\Repositories\Transformers\Rhawn\InvoiceSorderItemsTransformer; use App\Repositories\Transformers\Rhawn\InvoiceSorderItemsTransformer;
use App\Rhawn\Repositories\Eloquent\BhuaInvoiceRepositoryEloquent;
use App\Rhawn\Repositories\Eloquent\RhawnInvoiceRepositoryEloquent; use App\Rhawn\Repositories\Eloquent\RhawnInvoiceRepositoryEloquent;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
class RhawnInvoicesService class InvoicesService
{ {
public function __construct(InvoiceService $invoiceService) public function __construct(InvoiceService $invoiceService)
{ {
$this->rhawnOrdersService = app(\App\Rhawn\Services\RhawnOrdersService::class); $this->rhawnOrdersService = app(\App\Rhawn\Services\RhawnOrdersService::class);
$this->invoiceService = $invoiceService; $this->invoiceService = $invoiceService;
$this->invoiceRepository = app(RhawnInvoiceRepositoryEloquent::class); $this->invoiceRepository = app(RhawnInvoiceRepositoryEloquent::class);
$this->bHuaInvoiceRepository = app(BhuaInvoiceRepositoryEloquent::class);
} }
public function getInoviceItems($requestParams) public function getInoviceItems($requestParams)
...@@ -39,6 +41,7 @@ class RhawnInvoicesService ...@@ -39,6 +41,7 @@ class RhawnInvoicesService
switch($invoiceRecord['invoice_platform']){ switch($invoiceRecord['invoice_platform']){
case 'rhawn' : $invoiceItems = $this->invoiceRepository->getInvoiceItemsByInvoiceNumber($invoiceRecord['invoice_real_number']);break; case 'rhawn' : $invoiceItems = $this->invoiceRepository->getInvoiceItemsByInvoiceNumber($invoiceRecord['invoice_real_number']);break;
case 'bhua' : $invoiceItems = $this->invoiceRepository->getInvoiceItemsByInvoiceNumber($invoiceRecord['invoice_real_number']);break;
} }
if(!$invoiceItems){ if(!$invoiceItems){
throw new \Exception('无法查询该发票号对应明细',502); throw new \Exception('无法查询该发票号对应明细',502);
...@@ -47,7 +50,12 @@ class RhawnInvoicesService ...@@ -47,7 +50,12 @@ class RhawnInvoicesService
foreach($invoiceItems as $item){ foreach($invoiceItems as $item){
$invoiceItemsId[] = $item['soid_id']; $invoiceItemsId[] = $item['soid_id'];
} }
$sorderItems = $this->invoiceService->rhawnInvoiceItemsRepository->getInvoiceSorderItemsBySoItemsId($invoiceItemsId);
switch($invoiceRecord['invoice_platform']){
case 'rhawn' : $sorderItems = $this->invoiceService->rhawnInvoiceItemsRepository->getInvoiceSorderItemsBySoItemsId($invoiceItemsId);break;
case 'bhua' : $sorderItems = $this->invoiceService->bhuaInvoiceItemsRepository->getInvoiceSorderItemsBySoItemsId($invoiceItemsId);break;
}
if(!$sorderItems){ if(!$sorderItems){
throw new \Exception('查询对应订单错误',502); throw new \Exception('查询对应订单错误',502);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment