发票管理apiadmin
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

77 lines
2.6 KiB

<?php
namespace app\controller\admin;
use app\model\FinalReportData;
use app\model\FinalReportDate;
use app\service\invoice\InvoiceIssuanceService;
use app\util\ReturnCode;
use think\Response;
class InvoiceFinalReport extends Base
{
public function index(): Response
{
$param = $this->request->get();
$limit = $this->request->get('size', config('apiadmin.ADMIN_LIST_DEFAULT'));
$start = $this->request->get('page', 1);
$where = [];
if (isset($param['report_date']) && !empty($param['report_date'])) {
$where = ['report_date', '=', strtotime($param['report_date'])];
}
$listObj = (new FinalReportDate())
->where($where)
->order('report_date', 'DESC')
->paginate(['page' => $start, 'list_rows' => $limit])
->each(function ($item) {
$item['amount_sum'] = FinalReportData::getFrdSumAmount($item['id']);
$item['status_str'] = $item['status'] == 1 ? '已结报' : '未结报';
return $item;
})
->toArray();
return $this->buildSuccess([
'list' => $listObj['data'],
'total' => $listObj['total']
]);
}
public function view(): Response
{
try {
$frd_id = $this->request->get('id', '');
if (empty($frd_id)) {
throw new \Exception('缺少请求参数');
}
$limit = $this->request->get('size', config('apiadmin.ADMIN_LIST_DEFAULT'));
$start = $this->request->get('page', 1);
$FinalReportData = new FinalReportData();
$data = $FinalReportData->where('frd_id', $frd_id)->paginate(['page' => $start, 'list_rows' => $limit])->toArray();
return $this->buildSuccess([
'list' => $data['data'],
'total' => $data['total']
]);
} catch (\Exception $e) {
return $this->buildFailed(ReturnCode::EMPTY_PARAMS, $e->getMessage());
}
}
public function report(): Response
{
try {
$param = $this->request->get();
validate()->rule(['frd_id' => 'require|number'])->check($param);
$frd_id = $param['frd_id'];
$InvoiceIssuanceService = new InvoiceIssuanceService();
$result = $InvoiceIssuanceService->tempFinalReport($frd_id);
if ($result !== true) throw new \Exception($result);
return $this->buildSuccess();
} catch (\Exception $e) {
return $this->buildFailed(ReturnCode::EMPTY_PARAMS, $e->getMessage());
}
}
}