65 lines
2.1 KiB
PHP
65 lines
2.1 KiB
PHP
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||
// +----------------------------------------------------------------------
|
||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||
// | 开源版本可自由商用,可去除界面版权logo
|
||
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||
// | github下载:https://github.com/likeshop-github/likeadmin
|
||
// | 访问官网:https://www.likeadmin.cn
|
||
// | likeadmin团队 版权所有 拥有最终解释权
|
||
// +----------------------------------------------------------------------
|
||
// | author: likeadminTeam
|
||
// +----------------------------------------------------------------------
|
||
|
||
namespace app\common\model\financial;
|
||
|
||
|
||
use app\common\model\BaseModel;
|
||
use app\common\model\dict\DictData;
|
||
use think\model\concern\SoftDelete;
|
||
|
||
|
||
/**
|
||
* 财务管理--开票台账模型
|
||
* Class FinancialInvoice
|
||
* @package app\common\model\financial
|
||
*/
|
||
class FinancialInvoice extends BaseModel
|
||
{
|
||
use SoftDelete;
|
||
|
||
protected $name = 'financial_invoice';
|
||
protected $deleteTime = 'delete_time';
|
||
|
||
public function getInvoiceTypeTextAttr($value, $data)
|
||
{
|
||
$dict = DictData::where('type_value', 'zjzx_invoice_type')->column('name', 'value');
|
||
return !empty($data['invoice_type']) ? $dict[$data['invoice_type']] : '';
|
||
}
|
||
|
||
/**
|
||
* 统计合同金额
|
||
*/
|
||
public function ContractFinancialMoney($where, $time, string $selectType, string $group = "", $sum = '')
|
||
{
|
||
switch ($selectType) {
|
||
case "sum":
|
||
$totalMoney = $this->where($where)->when(isset($time), function ($query) use ($time) {
|
||
$query->whereBetweenTime('create_time', strtotime($time['start_time']), strtotime($time['end_time']));
|
||
})->sum($sum);
|
||
break;
|
||
case "group":
|
||
$totalMoney = $this->getCurveData($where, $time, "sum($sum)", $group);
|
||
break;
|
||
default:
|
||
throw new \Exception('ContractFinancialMoney:selectType参数错误');
|
||
}
|
||
|
||
if ($group) {
|
||
$totalMoney = $this->trendYdata((array)$totalMoney, $time);
|
||
}
|
||
return $totalMoney;
|
||
}
|
||
}
|