diff --git a/app/adminapi/controller/cost_project/CostStatisticsController.php b/app/adminapi/controller/cost_project/CostStatisticsController.php index d4ff80380..a721be62b 100644 --- a/app/adminapi/controller/cost_project/CostStatisticsController.php +++ b/app/adminapi/controller/cost_project/CostStatisticsController.php @@ -3,7 +3,8 @@ namespace app\adminapi\controller\cost_project; 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\FinancialRefund; use app\common\model\financial\FinancialSettlement; @@ -11,6 +12,14 @@ 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(){ //待立项项目 diff --git a/app/adminapi/logic/cost_project/CostProjectStatisticsLogic.php b/app/adminapi/logic/cost_project/CostProjectStatisticsLogic.php new file mode 100644 index 000000000..e5530b96d --- /dev/null +++ b/app/adminapi/logic/cost_project/CostProjectStatisticsLogic.php @@ -0,0 +1,118 @@ + $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; + } +}