Update: refactor code and improve statistics functions in CostStatisticsController, add new models and statistics for cost projects, and handle date parameters
This commit is contained in:
parent
a662ccf3c8
commit
093739a853
@ -3,7 +3,8 @@
|
|||||||
namespace app\adminapi\controller\cost_project;
|
namespace app\adminapi\controller\cost_project;
|
||||||
|
|
||||||
use app\adminapi\controller\BaseAdminController;
|
use app\adminapi\controller\BaseAdminController;
|
||||||
use app\common\model\cost_project\CostProject;
|
use app\adminapi\logic\cost_project\CostProjectStatisticsLogic;
|
||||||
|
use app\common\model\cost_project\CostProject;
|
||||||
use app\common\model\financial\FinancialInvoice;
|
use app\common\model\financial\FinancialInvoice;
|
||||||
use app\common\model\financial\FinancialRefund;
|
use app\common\model\financial\FinancialRefund;
|
||||||
use app\common\model\financial\FinancialSettlement;
|
use app\common\model\financial\FinancialSettlement;
|
||||||
@ -11,6 +12,14 @@
|
|||||||
|
|
||||||
class CostStatisticsController extends BaseAdminController
|
class CostStatisticsController extends BaseAdminController
|
||||||
{
|
{
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$date = $this->request->get('date', '');
|
||||||
|
$where = [];
|
||||||
|
$time = getDay($date);
|
||||||
|
$res = CostProjectStatisticsLogic::CostProjecStatistics($where, $time);
|
||||||
|
return $this->data($res);
|
||||||
|
}
|
||||||
//项目立项统计
|
//项目立项统计
|
||||||
public function project(){
|
public function project(){
|
||||||
//待立项项目
|
//待立项项目
|
||||||
|
118
app/adminapi/logic/cost_project/CostProjectStatisticsLogic.php
Normal file
118
app/adminapi/logic/cost_project/CostProjectStatisticsLogic.php
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
<?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\adminapi\logic\cost_project;
|
||||||
|
|
||||||
|
|
||||||
|
use app\common\logic\BaseLogic;
|
||||||
|
use app\common\model\cost_project\CostProject;
|
||||||
|
use app\common\model\financial\FinancialInvoice;
|
||||||
|
use app\common\model\financial\FinancialRefund;
|
||||||
|
use app\common\model\financial\FinancialSettlement;
|
||||||
|
use app\common\model\marketing\MarketingContract;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计
|
||||||
|
* Class CostProjectStatisticsLogic
|
||||||
|
* @package app\adminapi\logic\cost_project
|
||||||
|
*/
|
||||||
|
class CostProjectStatisticsLogic extends BaseLogic
|
||||||
|
{
|
||||||
|
|
||||||
|
public static function CostProjecStatistics($where, $time)
|
||||||
|
{
|
||||||
|
$data = [];
|
||||||
|
$datearr = explode('-', $time);
|
||||||
|
$time = TimeConvert(['start_time' => $datearr[0], 'end_time' => $datearr[1]]);
|
||||||
|
$marketingContract = new MarketingContract();
|
||||||
|
$CostProject = new CostProject();
|
||||||
|
$financialInvoice = new FinancialInvoice();
|
||||||
|
$financialRefund = new FinancialRefund();
|
||||||
|
$financialSettlement = new FinancialSettlement();
|
||||||
|
|
||||||
|
|
||||||
|
$total_apply_amount = $marketingContract->statistics_count([], $time, 'sum', '');
|
||||||
|
$apply_amount_value = $marketingContract->statistics_count([], $time, 'group', 'create_time');
|
||||||
|
$data[] = [
|
||||||
|
'title' => '待立项项目',
|
||||||
|
'desc' => '',
|
||||||
|
'total_money' => $total_apply_amount,
|
||||||
|
'value' => $apply_amount_value['y'] ?? 0,
|
||||||
|
'type' => 1,
|
||||||
|
];
|
||||||
|
$total_apply_amount = $CostProject->statistics_count([], $time, 'sum', '');
|
||||||
|
$apply_amount_value = $CostProject->statistics_count([], $time, 'group', 'create_time');
|
||||||
|
$data[] = [
|
||||||
|
'title' => '已立项项目',
|
||||||
|
'desc' => '',
|
||||||
|
'total_money' => $total_apply_amount,
|
||||||
|
'value' => $apply_amount_value['y'] ?? 0,
|
||||||
|
'type' => 1,
|
||||||
|
];
|
||||||
|
|
||||||
|
//投资金额
|
||||||
|
$total_apply_amount = $CostProject->statistics([], $time, 'sum', '', 'invest');
|
||||||
|
$apply_amount_value = $CostProject->statistics([], $time, 'group', 'create_time', 'invest');
|
||||||
|
$data[] = [
|
||||||
|
'title' => '投资金额',
|
||||||
|
'desc' => '',
|
||||||
|
'total_money' => $total_apply_amount,
|
||||||
|
'value' => $apply_amount_value['y'] ?? 0,
|
||||||
|
'type' => 1,
|
||||||
|
];
|
||||||
|
//签约金额
|
||||||
|
$total_apply_amount = $marketingContract->statistics([], $time, 'sum', '', 'signed_amount');
|
||||||
|
$apply_amount_value = $marketingContract->statistics([], $time, 'group', 'create_time', 'signed_amount');
|
||||||
|
$data[] = [
|
||||||
|
'title' => '签约金额',
|
||||||
|
'desc' => '',
|
||||||
|
'total_money' => $total_apply_amount,
|
||||||
|
'value' => $apply_amount_value['y'] ?? 0,
|
||||||
|
'type' => 1,
|
||||||
|
];
|
||||||
|
$contract_ids = $CostProject->column('contract_id');
|
||||||
|
|
||||||
|
$where[]=['contract_id','in',$contract_ids];
|
||||||
|
$total_apply_amount = $financialInvoice->ContractFinancialMoney($where, $time, 'sum', '', 'apply_amount');
|
||||||
|
$apply_amount_value = $financialInvoice->ContractFinancialMoney($where, $time, 'group', 'create_time', 'apply_amount');
|
||||||
|
$data[] = [
|
||||||
|
'title' => '开票金额',
|
||||||
|
'desc' => '',
|
||||||
|
'total_money' => $total_apply_amount,
|
||||||
|
'value' => $apply_amount_value['y'] ?? 0,
|
||||||
|
'type' => 1,
|
||||||
|
];
|
||||||
|
//回款金额
|
||||||
|
$total_amount = $financialRefund->statistics($where, $time, 'sum', '', 'amount');
|
||||||
|
$amount_value = $financialRefund->statistics($where, $time, 'group', 'create_time', 'amount');
|
||||||
|
$data[] = [
|
||||||
|
'title' => '回款金额',
|
||||||
|
'desc' => '',
|
||||||
|
'total_money' => $total_amount,
|
||||||
|
'value' => $amount_value['y'] ?? 0,
|
||||||
|
'type' => 1,
|
||||||
|
];
|
||||||
|
//结算金额
|
||||||
|
$total_amount = $financialSettlement->statistics($where, $time, 'sum', '', 'amount');
|
||||||
|
$amount_value = $financialSettlement->statistics($where, $time, 'group', 'create_time', 'amount');
|
||||||
|
$data[] = [
|
||||||
|
'title' => '结算金额',
|
||||||
|
'desc' => '',
|
||||||
|
'total_money' => $total_amount,
|
||||||
|
'value' => $amount_value['y'] ?? 0,
|
||||||
|
'type' => 1,
|
||||||
|
];
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user