This commit is contained in:
weiz 2024-04-06 11:04:53 +08:00
parent 80202c29f6
commit 91d1ed8686
11 changed files with 1416 additions and 1407 deletions

View File

@ -3,13 +3,13 @@
namespace app\adminapi\controller; namespace app\adminapi\controller;
use app\common\model\auth\Admin; use app\common\model\auth\Admin;
use app\common\model\cost_project\CostApprovedProject;
use app\common\model\cost_project\CostProject; use app\common\model\cost_project\CostProject;
use app\common\model\cost_project\CostProjectPerson; use app\common\model\cost_project\CostProjectPerson;
use app\common\model\DataReception; use app\common\model\DataReception;
use app\common\model\dept\Dept; use app\common\model\dept\Dept;
use app\common\model\GeoCity; use app\common\model\GeoCity;
use app\common\model\GeoProvince; use app\common\model\GeoProvince;
use app\common\model\marketing\MarketingContract;
use app\common\model\project_process_management\JianliProjectProgressReport; use app\common\model\project_process_management\JianliProjectProgressReport;
use app\common\model\ProjectCommission; use app\common\model\ProjectCommission;
use app\common\model\ProjectCommissionDetail; use app\common\model\ProjectCommissionDetail;
@ -18,7 +18,6 @@ use app\common\model\TaskHandlingThreeLevelReview;
use app\common\model\zjzx_finance\ZjzxInvoice; use app\common\model\zjzx_finance\ZjzxInvoice;
use app\common\model\zjzx_finance\ZjzxRefund; use app\common\model\zjzx_finance\ZjzxRefund;
use app\common\model\zjzx_finance\ZjzxSettlement; use app\common\model\zjzx_finance\ZjzxSettlement;
use think\facade\Db;
class CostConsultationReportController extends BaseAdminController class CostConsultationReportController extends BaseAdminController
{ {
@ -32,30 +31,31 @@ class CostConsultationReportController extends BaseAdminController
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15; $page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
$where = []; $where = [];
if (!empty($params['contract_name'])) { if (!empty($params['contract_name'])) {
$contract_ids1 = CostApprovedProject::where('contract_name','like','%'.$params['contract_name'].'%')->column('id'); $contract_ids1 = MarketingContract::where('contract_name', 'like', '%' . $params['contract_name'] . '%')->column('id');
$where[] = ['contract_id', 'in', $contract_ids1]; $where[] = ['contract_id', 'in', $contract_ids1];
} }
if (!empty($params['contract_num'])) { if (!empty($params['contract_num'])) {
$contract_ids2 = CostApprovedProject::where('contract_num','like','%'.$params['contract_num'].'%')->column('id'); $contract_ids2 = MarketingContract::where('contract_code', 'like', '%' . $params['contract_num'] . '%')->column('id');
$where[] = ['contract_id', 'in', $contract_ids2]; $where[] = ['contract_id', 'in', $contract_ids2];
} }
if (!empty($params['part_a'])) { if (!empty($params['part_a'])) {
$contract_ids3 = CostApprovedProject::where('part_a','like','%'.$params['part_a'].'%')->column('id'); $contract_ids3 = MarketingContract::where('part_a', 'like', '%' . $params['part_a'] . '%')->column('id');
$where[] = ['contract_id', 'in', $contract_ids3]; $where[] = ['contract_id', 'in', $contract_ids3];
} }
$lists = CostProject::field('id,contract_id')->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function ($data) { $lists = CostProject::field('id,contract_id')->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function ($data) {
$contract = CostApprovedProject::field('contract_name,contract_num,contract_type,part_a,part_b,create_time,start_date,end_date,project_money,money') $contract = MarketingContract::field('contract_name,contract_code,contract_type,part_a,part_b,create_time,start_date,end_date,project_money,signed_amount')
->where('id', $data['contract_id'])->findOrEmpty(); ->where('id', $data['contract_id'])->findOrEmpty();
$admin = Admin::field('name')->where('id', $contract['part_a'])->findOrEmpty();
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['contract_num'] = $contract['contract_num']; $data['contract_num'] = $contract['contract_code'];
$data['contract_type'] = $contract->contract_type_text; $data['contract_type'] = !$contract->isEmpty() ? $contract->contract_type_text : '';
$data['part_a'] = $contract['part_a']; $data['part_a'] = $admin['name'];
$data['part_b'] = $contract['part_b']; $data['part_b'] = $contract['part_b'];
$data['create_time'] = $contract['create_time']; $data['create_time'] = $contract['create_time'];
$data['start_date'] = $contract['start_date']; $data['start_date'] = $contract['start_date'];
$data['end_date'] = $contract['end_date']; $data['end_date'] = $contract['end_date'];
$data['project_money'] = $contract['project_money']; $data['project_money'] = $contract['project_money'];
$data['sign_money'] = $contract['money']; $data['sign_money'] = $contract['signed_amount'];
//开票金额 //开票金额
$data['total_invoice_amount'] = ZjzxInvoice::where('project_id', $data['id'])->sum('apply_amount'); $data['total_invoice_amount'] = ZjzxInvoice::where('project_id', $data['id'])->sum('apply_amount');
//到账金额 //到账金额
@ -78,7 +78,7 @@ class CostConsultationReportController extends BaseAdminController
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15; $page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
$where = []; $where = [];
if (!empty($params['contract_name'])) { if (!empty($params['contract_name'])) {
$contract_ids1 = CostApprovedProject::where('contract_name','like','%'.$params['contract_name'].'%')->column('id'); $contract_ids1 = MarketingContract::where('contract_name', 'like', '%' . $params['contract_name'] . '%')->column('id');
$where[] = ['contract_id', 'in', $contract_ids1]; $where[] = ['contract_id', 'in', $contract_ids1];
} }
if (!empty($params['project_name'])) { if (!empty($params['project_name'])) {
@ -86,7 +86,7 @@ class CostConsultationReportController extends BaseAdminController
} }
$lists = CostProject::field('id,contract_id,project_num,project_name,starting,endtime,types,invest') $lists = CostProject::field('id,contract_id,project_num,project_name,starting,endtime,types,invest')
->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function ($data) { ->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function ($data) {
$contract = CostApprovedProject::field('contract_name')->where('id',$data['contract_id'])->findOrEmpty(); $contract = MarketingContract::field('contract_name')->where('id', $data['contract_id'])->findOrEmpty();
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['types'] = $data->types_text; $data['types'] = $data->types_text;
//开票金额 //开票金额
@ -108,7 +108,7 @@ class CostConsultationReportController extends BaseAdminController
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15; $page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
$where = []; $where = [];
if (!empty($params['contract_name'])) { if (!empty($params['contract_name'])) {
$contract_ids1 = CostApprovedProject::where('contract_name','like','%'.$params['contract_name'].'%')->column('id'); $contract_ids1 = MarketingContract::where('contract_name', 'like', '%' . $params['contract_name'] . '%')->column('id');
$where[] = ['contract_id', 'in', $contract_ids1]; $where[] = ['contract_id', 'in', $contract_ids1];
} }
if (!empty($params['project_name'])) { if (!empty($params['project_name'])) {
@ -116,10 +116,11 @@ class CostConsultationReportController extends BaseAdminController
} }
$lists = CostProject::field('id,contract_id,project_num,project_name,depar') $lists = CostProject::field('id,contract_id,project_num,project_name,depar')
->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function ($data) { ->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function ($data) {
$contract = CostApprovedProject::field('contract_name,project_director')->where('id',$data['contract_id'])->findOrEmpty(); $contract = MarketingContract::field('contract_name,project_manager')->where('id', $data['contract_id'])->findOrEmpty();
$dept = Dept::field('name')->where('id', $data['depar'])->findOrEmpty(); $dept = Dept::field('name')->where('id', $data['depar'])->findOrEmpty();
$admin = Admin::field('name')->where('id', $contract['project_manager'])->findOrEmpty();
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['project_director'] = $contract['project_director']; $data['project_director'] = $admin['name'];
$data['dept_name'] = $dept['name']; $data['dept_name'] = $dept['name'];
//任务分配状态 //任务分配状态
$task_allocation_status = TaskAllocation::where('cost_project_id', $data['id'])->count(); $task_allocation_status = TaskAllocation::where('cost_project_id', $data['id'])->count();
@ -151,7 +152,7 @@ class CostConsultationReportController extends BaseAdminController
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15; $page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
$where = []; $where = [];
if (!empty($params['contract_name'])) { if (!empty($params['contract_name'])) {
$contract_ids1 = CostApprovedProject::where('contract_name','like','%'.$params['contract_name'].'%')->column('id'); $contract_ids1 = MarketingContract::where('contract_name', 'like', '%' . $params['contract_name'] . '%')->column('id');
$where[] = ['contract_id', 'in', $contract_ids1]; $where[] = ['contract_id', 'in', $contract_ids1];
} }
if (!empty($params['project_name'])) { if (!empty($params['project_name'])) {
@ -159,10 +160,11 @@ class CostConsultationReportController extends BaseAdminController
} }
$lists = CostProject::field('id,contract_id,project_num,project_name,depar') $lists = CostProject::field('id,contract_id,project_num,project_name,depar')
->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function ($data) { ->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function ($data) {
$contract = CostApprovedProject::field('contract_name,project_director')->where('id',$data['contract_id'])->findOrEmpty(); $contract = MarketingContract::field('contract_name,project_manager')->where('id', $data['contract_id'])->findOrEmpty();
$dept = Dept::field('name')->where('id', $data['depar'])->findOrEmpty(); $dept = Dept::field('name')->where('id', $data['depar'])->findOrEmpty();
$admin = Admin::field('name')->where('id', $contract['project_manager'])->findOrEmpty();
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['project_director'] = $contract['project_director']; $data['project_director'] = $admin['name'];
$data['dept_name'] = $dept['name']; $data['dept_name'] = $dept['name'];
//开票金额 //开票金额
$data['total_invoice_amount'] = ZjzxInvoice::where('project_id', $data['id'])->sum('apply_amount'); $data['total_invoice_amount'] = ZjzxInvoice::where('project_id', $data['id'])->sum('apply_amount');
@ -217,7 +219,8 @@ class CostConsultationReportController extends BaseAdminController
} }
//项目提成统计 //项目提成统计
public function project_commission_statistics(){ public function project_commission_statistics()
{
$params = $this->request->get(); $params = $this->request->get();
$page_no = !empty($params['page_no']) ? $params['page_no'] : 1; $page_no = !empty($params['page_no']) ? $params['page_no'] : 1;
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15; $page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
@ -231,7 +234,7 @@ class CostConsultationReportController extends BaseAdminController
} }
$lists = ProjectCommission::field('id,project_id,apptime')->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function ($data) { $lists = ProjectCommission::field('id,project_id,apptime')->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function ($data) {
$project = CostProject::field('project_name,project_num,contract_id')->where('id', $data['project_id'])->findOrEmpty(); $project = CostProject::field('project_name,project_num,contract_id')->where('id', $data['project_id'])->findOrEmpty();
$contract = CostApprovedProject::field('contract_name')->where('id',$project['contract_id'])->findOrEmpty(); $contract = MarketingContract::field('contract_name')->where('id', $project['contract_id'])->findOrEmpty();
$data['project_num'] = $project['project_num']; $data['project_num'] = $project['project_num'];
$data['project_name'] = $project['project_name']; $data['project_name'] = $project['project_name'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
@ -246,13 +249,14 @@ class CostConsultationReportController extends BaseAdminController
} }
//项目进度统计 //项目进度统计
public function project_schedule_statistics(){ public function project_schedule_statistics()
{
$params = $this->request->get(); $params = $this->request->get();
$page_no = !empty($params['page_no']) ? $params['page_no'] : 1; $page_no = !empty($params['page_no']) ? $params['page_no'] : 1;
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15; $page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
$where = []; $where = [];
if (!empty($params['contract_name'])) { if (!empty($params['contract_name'])) {
$contract_ids1 = CostApprovedProject::where('contract_name','like','%'.$params['contract_name'].'%')->column('id'); $contract_ids1 = MarketingContract::where('contract_name', 'like', '%' . $params['contract_name'] . '%')->column('id');
$where[] = ['contract_id', 'in', $contract_ids1]; $where[] = ['contract_id', 'in', $contract_ids1];
} }
if (!empty($params['project_name'])) { if (!empty($params['project_name'])) {
@ -260,15 +264,16 @@ class CostConsultationReportController extends BaseAdminController
} }
$lists = CostProject::field('id,contract_id,project_num,project_name,types,aunit,province,city,starting,endtime,jhgq') $lists = CostProject::field('id,contract_id,project_num,project_name,types,aunit,province,city,starting,endtime,jhgq')
->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function ($data) { ->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function ($data) {
$contract = CostApprovedProject::field('contract_name,industry_nature,project_director')->where('id',$data['contract_id'])->findOrEmpty(); $contract = MarketingContract::field('contract_name,industry_nature,project_manager')->where('id', $data['contract_id'])->findOrEmpty();
$province = GeoProvince::field('province_name')->where('province_code', $data['province'])->findOrEmpty(); $province = GeoProvince::field('province_name')->where('province_code', $data['province'])->findOrEmpty();
$city = GeoCity::field('city_name')->where('city_code', $data['city'])->findOrEmpty(); $city = GeoCity::field('city_name')->where('city_code', $data['city'])->findOrEmpty();
$schedule = JianliProjectProgressReport::field('start_date,end_date,duration,done_progress')->where('project_id', $data['id'])->findOrEmpty(); $schedule = JianliProjectProgressReport::field('start_date,end_date,duration,done_progress')->where('project_id', $data['id'])->findOrEmpty();
$admin = Admin::field('name')->where('id', $contract['project_manager'])->findOrEmpty();
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['project_director'] = $contract['project_director']; $data['project_director'] = $contract['project_director'];
$data['types'] = $data->types_text; $data['types'] = $data->types_text;
$data['industry_nature'] = $contract->industry_nature_text; $data['industry_nature'] = $contract->industry_nature_text;
$data['project_director'] = $contract['project_director']; $data['project_director'] = $admin['name'];
$data['province'] = $province['province_name']; $data['province'] = $province['province_name'];
$data['city'] = $city['city_name']; $data['city'] = $city['city_name'];
$data['actual_starting'] = $schedule['start_date']; $data['actual_starting'] = $schedule['start_date'];

View File

@ -15,12 +15,11 @@
namespace app\adminapi\lists; namespace app\adminapi\lists;
use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\cost_project\CostApprovedProject;
use app\common\model\cost_project\CostProject;
use app\common\model\ProjectCommission;
use app\common\lists\ListsSearchInterface; use app\common\lists\ListsSearchInterface;
use app\common\model\cost_project\CostProject;
use app\common\model\marketing\MarketingContract;
use app\common\model\ProjectCommission;
use app\common\model\ProjectCommissionDetail; use app\common\model\ProjectCommissionDetail;
use app\common\model\zjzx_finance\ZjzxRefund; use app\common\model\zjzx_finance\ZjzxRefund;
@ -65,11 +64,10 @@ class ProjectCommissionLists extends BaseAdminDataLists implements ListsSearchIn
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function ($data) { ->select()->each(function ($data) {
$project = CostProject::field('project_name,project_num,contract_id')->where('id', $data['project_id'])->findOrEmpty(); $project = CostProject::field('project_name,project_num,contract_id')->where('id', $data['project_id'])->findOrEmpty();
$contract = CostApprovedProject::field('contract_name,project_director,industry_nature')->where('id',$project['contract_id'])->findOrEmpty(); $contract = MarketingContract::field('contract_name,industry_nature')->where('id', $project['contract_id'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $data['project_name'] = $project['project_name'];
$data['project_num'] = $project['project_num']; $data['project_num'] = $project['project_num'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['project_director'] = $contract['project_director'];
$data['industry_nature'] = $contract->industry_nature_text; $data['industry_nature'] = $contract->industry_nature_text;
//到账金额 //到账金额
$data['total_refund_amount'] = ZjzxRefund::where('project_id', $data['project_id'])->sum('amount'); $data['total_refund_amount'] = ZjzxRefund::where('project_id', $data['project_id'])->sum('amount');

View File

@ -17,8 +17,8 @@ namespace app\adminapi\lists\cost_project;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\cost_project\CostProject;
use app\common\lists\ListsSearchInterface; use app\common\lists\ListsSearchInterface;
use app\common\model\cost_project\CostProject;
use app\common\model\ProjectCommission; use app\common\model\ProjectCommission;
use app\common\model\zjzx_finance\ZjzxInvoice; use app\common\model\zjzx_finance\ZjzxInvoice;
use app\common\model\zjzx_finance\ZjzxRefund; use app\common\model\zjzx_finance\ZjzxRefund;
@ -71,7 +71,6 @@ class CostProjectLists extends BaseAdminDataLists implements ListsSearchInterfac
->select() ->select()
->each(function ($item) { ->each(function ($item) {
$item['person_text'] = $item->person_text; $item['person_text'] = $item->person_text;
$item['contract']['contract_type_text'] = $item['contract']->contract_type_text;
$item['total_invoice_amount'] = ZjzxInvoice::where('project_id', $item['id'])->sum('apply_amount'); $item['total_invoice_amount'] = ZjzxInvoice::where('project_id', $item['id'])->sum('apply_amount');
$item['total_refund_amount'] = ZjzxRefund::where('project_id', $item['id'])->sum('amount'); $item['total_refund_amount'] = ZjzxRefund::where('project_id', $item['id'])->sum('amount');
$item['total_pay_amount'] = ProjectCommission::where('project_id', $item['id'])->sum('bczfze'); $item['total_pay_amount'] = ProjectCommission::where('project_id', $item['id'])->sum('bczfze');
@ -85,7 +84,6 @@ class CostProjectLists extends BaseAdminDataLists implements ListsSearchInterfac
->select() ->select()
->each(function ($item) { ->each(function ($item) {
$item['person_text'] = $item->person_text; $item['person_text'] = $item->person_text;
$item['contract']['contract_type_text'] = $item['contract']->contract_type_text;
$item['total_invoice_amount'] = ZjzxInvoice::where('project_id', $item['id'])->sum('apply_amount'); $item['total_invoice_amount'] = ZjzxInvoice::where('project_id', $item['id'])->sum('apply_amount');
$item['total_refund_amount'] = ZjzxRefund::where('project_id', $item['id'])->sum('amount'); $item['total_refund_amount'] = ZjzxRefund::where('project_id', $item['id'])->sum('amount');
$item['total_pay_amount'] = ProjectCommission::where('project_id', $item['id'])->sum('bczfze'); $item['total_pay_amount'] = ProjectCommission::where('project_id', $item['id'])->sum('bczfze');

View File

@ -17,9 +17,8 @@ namespace app\adminapi\lists\project_process_management;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\cost_project\CostApprovedProject;
use app\common\model\project_process_management\ApplyWithSeal;
use app\common\lists\ListsSearchInterface; use app\common\lists\ListsSearchInterface;
use app\common\model\project_process_management\ApplyWithSeal;
/** /**
@ -60,10 +59,7 @@ class ApplyWithSealLists extends BaseAdminDataLists implements ListsSearchInterf
return ApplyWithSeal::with(['projectInfo', 'dept'])->where($this->searchWhere) return ApplyWithSeal::with(['projectInfo', 'dept'])->where($this->searchWhere)
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()
$contract = CostApprovedProject::field('project_director')->where('id',$data['projectInfo']['contract_id'])->findOrEmpty();
$data['project_director'] = $contract['project_director'];
})
->toArray(); ->toArray();
} }

View File

@ -1,11 +1,13 @@
<?php <?php
namespace app\adminapi\lists\zjzx_finance; namespace app\adminapi\lists\zjzx_finance;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\cost_project\CostApprovedProject;
use app\common\model\cost_project\CostProject;
use app\common\model\zjzx_finance\ZjzxInvoice;
use app\common\lists\ListsSearchInterface; use app\common\lists\ListsSearchInterface;
use app\common\model\cost_project\CostProject;
use app\common\model\marketing\MarketingContract;
use app\common\model\marketing\MarketingCustom;
use app\common\model\zjzx_finance\ZjzxInvoice;
use app\common\model\zjzx_finance\ZjzxRefund; use app\common\model\zjzx_finance\ZjzxRefund;
@ -50,14 +52,15 @@ class ZjzxInvoiceLists extends BaseAdminDataLists implements ListsSearchInterfac
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function ($data) { ->select()->each(function ($data) {
$project = CostProject::field('project_num,project_name,contract_id')->where('id', $data['project_id'])->findOrEmpty(); $project = CostProject::field('project_num,project_name,contract_id')->where('id', $data['project_id'])->findOrEmpty();
$contract = CostApprovedProject::field('contract_name,contract_type,part_a,part_b,money,create_time')->where('id',$project['contract_id'])->findOrEmpty(); $contract = MarketingContract::field('contract_name,contract_type,part_a,part_b,signed_amount,create_time')->where('id', $project['contract_id'])->findOrEmpty();
$part_a = MarketingCustom::field('name')->where('id', $contract['part_a'])->findOrEmpty();
$data['project_num'] = $project['project_num']; $data['project_num'] = $project['project_num'];
$data['project_name'] = $project['project_name']; $data['project_name'] = $project['project_name'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['contract_type'] = $contract->contract_type_text; $data['contract_type'] = !$contract->isEmpty() ? $contract->contract_type_text : '';
$data['part_a'] = $contract['part_a']; $data['part_a'] = $part_a['name'];
$data['part_b'] = $contract['part_b']; $data['part_b'] = $contract['part_b'];
$data['sign_money'] = $contract['money']; $data['sign_money'] = $contract['signed_amount'];
$data['sign_time'] = $contract['create_time']; $data['sign_time'] = $contract['create_time'];
$data['invoice_type_text'] = $data->invoice_type_text; $data['invoice_type_text'] = $data->invoice_type_text;
$refund = ZjzxRefund::where('invoice_id', $data['id'])->findOrEmpty(); $refund = ZjzxRefund::where('invoice_id', $data['id'])->findOrEmpty();

View File

@ -1,12 +1,14 @@
<?php <?php
namespace app\adminapi\lists\zjzx_finance; namespace app\adminapi\lists\zjzx_finance;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\cost_project\CostApprovedProject; use app\common\lists\ListsSearchInterface;
use app\common\model\cost_project\CostProject; use app\common\model\cost_project\CostProject;
use app\common\model\marketing\MarketingContract;
use app\common\model\marketing\MarketingCustom;
use app\common\model\zjzx_finance\ZjzxInvoice; use app\common\model\zjzx_finance\ZjzxInvoice;
use app\common\model\zjzx_finance\ZjzxRefund; use app\common\model\zjzx_finance\ZjzxRefund;
use app\common\lists\ListsSearchInterface;
/** /**
@ -50,13 +52,14 @@ class ZjzxRefundLists extends BaseAdminDataLists implements ListsSearchInterface
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function ($data) { ->select()->each(function ($data) {
$project = CostProject::field('project_num,project_name,contract_id')->where('id', $data['project_id'])->findOrEmpty(); $project = CostProject::field('project_num,project_name,contract_id')->where('id', $data['project_id'])->findOrEmpty();
$contract = CostApprovedProject::field('contract_name,contract_type,part_a,part_b')->where('id',$project['contract_id'])->findOrEmpty(); $contract = MarketingContract::field('contract_name,contract_type,part_a,part_b')->where('id', $project['contract_id'])->findOrEmpty();
$invoice = ZjzxInvoice::field('invoice_code,apply_amount')->where('id', $data['invoice_id'])->findOrEmpty(); $invoice = ZjzxInvoice::field('invoice_code,apply_amount')->where('id', $data['invoice_id'])->findOrEmpty();
$part_a = MarketingCustom::field('name')->where('id', $contract['part_a'])->findOrEmpty();
$data['project_num'] = $project['project_num']; $data['project_num'] = $project['project_num'];
$data['project_name'] = $project['project_name']; $data['project_name'] = $project['project_name'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['contract_type'] = $contract->contract_type_text; $data['contract_type'] = !$contract->isEmpty() ? $contract->contract_type_text : '';
$data['part_a'] = $contract['part_a']; $data['part_a'] = $part_a['name'];
$data['part_b'] = $contract['part_b']; $data['part_b'] = $contract['part_b'];
$data['invoice_code'] = $invoice['invoice_code']; $data['invoice_code'] = $invoice['invoice_code'];
$data['apply_amount'] = $invoice['apply_amount']; $data['apply_amount'] = $invoice['apply_amount'];

View File

@ -1,13 +1,15 @@
<?php <?php
namespace app\adminapi\lists\zjzx_finance; namespace app\adminapi\lists\zjzx_finance;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\cost_project\CostApprovedProject; use app\common\lists\ListsSearchInterface;
use app\common\model\cost_project\CostProject; use app\common\model\cost_project\CostProject;
use app\common\model\marketing\MarketingContract;
use app\common\model\marketing\MarketingCustom;
use app\common\model\zjzx_finance\ZjzxInvoice; use app\common\model\zjzx_finance\ZjzxInvoice;
use app\common\model\zjzx_finance\ZjzxRefund; use app\common\model\zjzx_finance\ZjzxRefund;
use app\common\model\zjzx_finance\ZjzxSettlement; use app\common\model\zjzx_finance\ZjzxSettlement;
use app\common\lists\ListsSearchInterface;
/** /**
@ -50,15 +52,16 @@ class ZjzxSettlementLists extends BaseAdminDataLists implements ListsSearchInter
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function ($data) { ->select()->each(function ($data) {
$project = CostProject::field('project_num,project_name,contract_id')->where('id', $data['project_id'])->findOrEmpty(); $project = CostProject::field('project_num,project_name,contract_id')->where('id', $data['project_id'])->findOrEmpty();
$contract = CostApprovedProject::field('contract_name,contract_type,part_a,part_b,money,create_time')->where('id',$project['contract_id'])->findOrEmpty(); $contract = MarketingContract::field('contract_name,contract_type,part_a,part_b,signed_amount,create_time')->where('id', $project['contract_id'])->findOrEmpty();
$part_a = MarketingCustom::field('name')->where('id', $contract['part_a'])->findOrEmpty();
$data['invoice_type_text'] = $data->invoice_type_text; $data['invoice_type_text'] = $data->invoice_type_text;
$data['project_num'] = $project['project_num']; $data['project_num'] = $project['project_num'];
$data['project_name'] = $project['project_name']; $data['project_name'] = $project['project_name'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['contract_type'] = $contract->contract_type_text; $data['contract_type'] = $contract->contract_type_text;
$data['part_a'] = $contract['part_a']; $data['part_a'] = $part_a['name'];
$data['part_b'] = $contract['part_b']; $data['part_b'] = $contract['part_b'];
$data['sign_money'] = $contract['money']; $data['sign_money'] = $contract['signed_amount'];
$data['sign_time'] = $contract['create_time']; $data['sign_time'] = $contract['create_time'];
$data['total_invoice_amount'] = ZjzxInvoice::where('project_id', $data['project_id'])->sum('apply_amount'); $data['total_invoice_amount'] = ZjzxInvoice::where('project_id', $data['project_id'])->sum('apply_amount');
$data['total_refund_amount'] = ZjzxRefund::where('project_id', $data['project_id'])->sum('amount'); $data['total_refund_amount'] = ZjzxRefund::where('project_id', $data['project_id'])->sum('amount');

View File

@ -15,11 +15,9 @@
namespace app\adminapi\logic\project_process_management; namespace app\adminapi\logic\project_process_management;
use app\common\model\cost_project\CostApprovedProject;
use app\common\model\dept\Dept;
use app\common\model\dept\Orgs;
use app\common\model\project_process_management\ApplyWithSeal;
use app\common\logic\BaseLogic; use app\common\logic\BaseLogic;
use app\common\model\dept\Dept;
use app\common\model\project_process_management\ApplyWithSeal;
use think\facade\Db; use think\facade\Db;
@ -147,11 +145,7 @@ class ApplyWithSealLogic extends BaseLogic
public static function detail($params): array public static function detail($params): array
{ {
$data = ApplyWithSeal::with(['projectInfo'])->findOrEmpty($params['id']); $data = ApplyWithSeal::with(['projectInfo'])->findOrEmpty($params['id']);
$contract = CostApprovedProject::field('project_director')->where('id',$data['projectInfo']['contract_id'])->findOrEmpty();
$org = Orgs::field('name')->where('id',$data['org_id'])->findOrEmpty();
$dept = Dept::field('name')->where('id', $data['depar'])->findOrEmpty(); $dept = Dept::field('name')->where('id', $data['depar'])->findOrEmpty();
$data['project_director'] = $contract['project_director'];
$data['org_name'] = $org['name'];
$data['dept_name'] = $dept['name']; $data['dept_name'] = $dept['name'];
$data['types_text'] = $data->types_text; $data['types_text'] = $data->types_text;
$data['ridingseam_text'] = $data->ridingseam_text; $data['ridingseam_text'] = $data->ridingseam_text;

View File

@ -1,10 +1,12 @@
<?php <?php
namespace app\adminapi\logic\zjzx_finance; namespace app\adminapi\logic\zjzx_finance;
use app\common\model\cost_project\CostApprovedProject;
use app\common\model\cost_project\CostProject;
use app\common\model\zjzx_finance\ZjzxInvoice;
use app\common\logic\BaseLogic; use app\common\logic\BaseLogic;
use app\common\model\cost_project\CostProject;
use app\common\model\marketing\MarketingContract;
use app\common\model\marketing\MarketingCustom;
use app\common\model\zjzx_finance\ZjzxInvoice;
use app\common\model\zjzx_finance\ZjzxRefund; use app\common\model\zjzx_finance\ZjzxRefund;
use think\facade\Db; use think\facade\Db;
@ -120,15 +122,16 @@ class ZjzxInvoiceLogic extends BaseLogic
{ {
$data = ZjzxInvoice::withoutField('update_time,delete_time')->findOrEmpty($params['id']); $data = ZjzxInvoice::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$project = CostProject::field('project_num,project_name,contract_id')->where('id', $data['project_id'])->findOrEmpty(); $project = CostProject::field('project_num,project_name,contract_id')->where('id', $data['project_id'])->findOrEmpty();
$contract = CostApprovedProject::field('contract_name,contract_type,part_a,part_b,money,create_time')->where('id',$project['contract_id'])->findOrEmpty(); $contract = MarketingContract::field('contract_name,contract_type,part_a,part_b,signed_amount,create_time')->where('id', $project['contract_id'])->findOrEmpty();
$part_a = MarketingCustom::field('name')->where('id', $contract['part_a'])->findOrEmpty();
$data['invoice_type_text'] = $data->invoice_type_text; $data['invoice_type_text'] = $data->invoice_type_text;
$data['project_num'] = $project['project_num']; $data['project_num'] = $project['project_num'];
$data['project_name'] = $project['project_name']; $data['project_name'] = $project['project_name'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['contract_type'] = $contract->contract_type_text; $data['contract_type'] = !$contract->isEmpty() ? $contract->contract_type_text : '';
$data['part_a'] = $contract['part_a']; $data['part_a'] = $part_a['name'];
$data['part_b'] = $contract['part_b']; $data['part_b'] = $contract['part_b'];
$data['sign_money'] = $contract['money']; $data['sign_money'] = $contract['signed_amount'];
$data['sign_time'] = $contract['create_time']; $data['sign_time'] = $contract['create_time'];
$data['total_invoice_amount'] = ZjzxInvoice::where('project_id', $data['project_id'])->sum('apply_amount'); $data['total_invoice_amount'] = ZjzxInvoice::where('project_id', $data['project_id'])->sum('apply_amount');
$data['total_refund_amount'] = ZjzxRefund::where('project_id', $data['project_id'])->sum('amount'); $data['total_refund_amount'] = ZjzxRefund::where('project_id', $data['project_id'])->sum('amount');

View File

@ -1,11 +1,13 @@
<?php <?php
namespace app\adminapi\logic\zjzx_finance; namespace app\adminapi\logic\zjzx_finance;
use app\common\logic\BaseLogic;
use app\common\model\cost_project\CostApprovedProject; use app\common\model\cost_project\CostApprovedProject;
use app\common\model\cost_project\CostProject; use app\common\model\cost_project\CostProject;
use app\common\model\marketing\MarketingCustom;
use app\common\model\zjzx_finance\ZjzxInvoice; use app\common\model\zjzx_finance\ZjzxInvoice;
use app\common\model\zjzx_finance\ZjzxRefund; use app\common\model\zjzx_finance\ZjzxRefund;
use app\common\logic\BaseLogic;
use think\facade\Db; use think\facade\Db;
@ -103,15 +105,16 @@ class ZjzxRefundLogic extends BaseLogic
{ {
$data = ZjzxRefund::withoutField('update_time,delete_time')->findOrEmpty($params['id']); $data = ZjzxRefund::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$project = CostProject::field('project_num,project_name,contract_id')->where('id', $data['project_id'])->findOrEmpty(); $project = CostProject::field('project_num,project_name,contract_id')->where('id', $data['project_id'])->findOrEmpty();
$contract = CostApprovedProject::field('contract_name,contract_type,part_a,part_b,money,create_time')->where('id',$project['contract_id'])->findOrEmpty(); $contract = CostApprovedProject::field('contract_name,contract_type,part_a,part_b,signed_amount,create_time')->where('id', $project['contract_id'])->findOrEmpty();
$invoice = ZjzxInvoice::field('invoice_code,apply_amount')->where('id', $data['invoice_id'])->findOrEmpty(); $invoice = ZjzxInvoice::field('invoice_code,apply_amount')->where('id', $data['invoice_id'])->findOrEmpty();
$part_a = MarketingCustom::field('name')->where('id', $contract['part_a'])->findOrEmpty();
$data['project_num'] = $project['project_num']; $data['project_num'] = $project['project_num'];
$data['project_name'] = $project['project_name']; $data['project_name'] = $project['project_name'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['contract_type'] = $contract->contract_type_text; $data['contract_type'] = !$contract->isEmpty() ? $contract->contract_type_text : '';
$data['part_a'] = $contract['part_a']; $data['part_a'] = $part_a['name'];
$data['part_b'] = $contract['part_b']; $data['part_b'] = $contract['part_b'];
$data['sign_money'] = $contract['money']; $data['sign_money'] = $contract['signed_amount'];
$data['sign_time'] = $contract['create_time']; $data['sign_time'] = $contract['create_time'];
$data['invoice_code'] = $invoice['invoice_code']; $data['invoice_code'] = $invoice['invoice_code'];
$data['apply_amount'] = $invoice['apply_amount']; $data['apply_amount'] = $invoice['apply_amount'];

View File

@ -1,12 +1,14 @@
<?php <?php
namespace app\adminapi\logic\zjzx_finance; namespace app\adminapi\logic\zjzx_finance;
use app\common\logic\BaseLogic;
use app\common\model\cost_project\CostApprovedProject; use app\common\model\cost_project\CostApprovedProject;
use app\common\model\cost_project\CostProject; use app\common\model\cost_project\CostProject;
use app\common\model\marketing\MarketingCustom;
use app\common\model\zjzx_finance\ZjzxInvoice; use app\common\model\zjzx_finance\ZjzxInvoice;
use app\common\model\zjzx_finance\ZjzxRefund; use app\common\model\zjzx_finance\ZjzxRefund;
use app\common\model\zjzx_finance\ZjzxSettlement; use app\common\model\zjzx_finance\ZjzxSettlement;
use app\common\logic\BaseLogic;
use think\facade\Db; use think\facade\Db;
@ -99,15 +101,16 @@ class ZjzxSettlementLogic extends BaseLogic
{ {
$data = ZjzxSettlement::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']); $data = ZjzxSettlement::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']);
$project = CostProject::field('project_num,project_name,contract_id')->where('id', $data['project_id'])->findOrEmpty(); $project = CostProject::field('project_num,project_name,contract_id')->where('id', $data['project_id'])->findOrEmpty();
$contract = CostApprovedProject::field('contract_name,contract_type,part_a,part_b,money,create_time')->where('id',$project['contract_id'])->findOrEmpty(); $contract = CostApprovedProject::field('contract_name,contract_type,part_a,part_b,signed_amount,create_time')->where('id', $project['contract_id'])->findOrEmpty();
$part_a = MarketingCustom::field('name')->where('id', $contract['part_a'])->findOrEmpty();
$data['invoice_type_text'] = $data->invoice_type_text; $data['invoice_type_text'] = $data->invoice_type_text;
$data['project_num'] = $project['project_num']; $data['project_num'] = $project['project_num'];
$data['project_name'] = $project['project_name']; $data['project_name'] = $project['project_name'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['contract_type'] = $contract->contract_type_text; $data['contract_type'] = $contract->contract_type_text;
$data['part_a'] = $contract['part_a']; $data['part_a'] = $part_a['name'];
$data['part_b'] = $contract['part_b']; $data['part_b'] = $contract['part_b'];
$data['sign_money'] = $contract['money']; $data['sign_money'] = $contract['signed_amount'];
$data['sign_time'] = $contract['create_time']; $data['sign_time'] = $contract['create_time'];
$data['total_invoice_amount'] = ZjzxInvoice::where('project_id', $data['project_id'])->sum('apply_amount'); $data['total_invoice_amount'] = ZjzxInvoice::where('project_id', $data['project_id'])->sum('apply_amount');
$data['total_refund_amount'] = ZjzxRefund::where('project_id', $data['project_id'])->sum('amount'); $data['total_refund_amount'] = ZjzxRefund::where('project_id', $data['project_id'])->sum('amount');