This commit is contained in:
weiz 2024-04-15 15:45:03 +08:00
parent 273849ec62
commit 3286e65cb8
68 changed files with 7175 additions and 7154 deletions

View File

@ -12,24 +12,24 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\bid; namespace app\adminapi\lists\bid;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\bid\BidBiddingDecision; use app\common\lists\ListsSearchInterface;
use app\common\lists\ListsSearchInterface; use app\common\model\bid\BidBiddingDecision;
use app\common\model\custom\Custom; use app\common\model\custom\Custom;
use app\common\model\project\Project; use app\common\model\project\Project;
/** /**
* 投标决策列表 * 投标决策列表
* Class BidBiddingDecisionLists * Class BidBiddingDecisionLists
* @package app\adminapi\listsbid * @package app\adminapi\listsbid
*/ */
class BidBiddingDecisionLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class BidBiddingDecisionLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -58,18 +58,18 @@ class BidBiddingDecisionLists extends BaseAdminDataLists implements ListsSearchI
*/ */
public function lists(): array public function lists(): array
{ {
$params = $this->request->get(['project_name','custom_name']); $params = $this->request->get(['project_name', 'custom_name']);
$where = []; $where = [];
if(isset($params['custom_name']) && $params['custom_name'] != ''){ if (isset($params['custom_name']) && $params['custom_name'] != '') {
$custom_ids = Custom::where('name','like','%'.$params['custom_name'].'%')->column('id'); $custom_ids = Custom::where('name', 'like', '%' . $params['custom_name'] . '%')->column('id');
$project_ids = Project::where('custom_id','in',$custom_ids)->column('id'); $project_ids = Project::where('custom_id', 'in', $custom_ids)->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
return BidBiddingDecision::where($this->searchWhere)->where($where)->limit($this->limitOffset, $this->limitLength) return BidBiddingDecision::where($this->searchWhere)->where($where)->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($item){ ->select()->each(function ($item) {
$project = Project::field('custom_id,name,project_code')->where('id',$item['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $item['project_id'])->findOrEmpty();
$custom = Custom::field('id,name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('id,name')->where('id', $project['custom_id'])->findOrEmpty();
$item['project_name'] = $project['name']; $item['project_name'] = $project['name'];
$item['project_code'] = $project['project_code']; $item['project_code'] = $project['project_code'];
$item['custom_id'] = $custom['id']; $item['custom_id'] = $custom['id'];
@ -79,6 +79,7 @@ class BidBiddingDecisionLists extends BaseAdminDataLists implements ListsSearchI
$item['is_margin'] = $item->is_margin_text; $item['is_margin'] = $item->is_margin_text;
$item['is_internal_resources'] = $item->is_internal_resources_text; $item['is_internal_resources'] = $item->is_internal_resources_text;
$item['project_assurance'] = $item->project_assurance_text; $item['project_assurance'] = $item->project_assurance_text;
$item['approve_check_status_text'] = $item->approve_check_status_text;
unset($item['delete_time']); unset($item['delete_time']);
return $item; return $item;
}) })
@ -94,12 +95,12 @@ class BidBiddingDecisionLists extends BaseAdminDataLists implements ListsSearchI
*/ */
public function count(): int public function count(): int
{ {
$params = $this->request->get(['project_name','custom_name']); $params = $this->request->get(['project_name', 'custom_name']);
$where = []; $where = [];
if(isset($params['custom_name']) && $params['custom_name'] != ''){ if (isset($params['custom_name']) && $params['custom_name'] != '') {
$custom_ids = Custom::where('name','like','%'.$params['custom_name'].'%')->column('id'); $custom_ids = Custom::where('name', 'like', '%' . $params['custom_name'] . '%')->column('id');
$project_ids = Project::where('custom_id','in',$custom_ids)->column('id'); $project_ids = Project::where('custom_id', 'in', $custom_ids)->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
return BidBiddingDecision::where($this->searchWhere)->where($where)->count(); return BidBiddingDecision::where($this->searchWhere)->where($where)->count();
} }
@ -141,4 +142,4 @@ class BidBiddingDecisionLists extends BaseAdminDataLists implements ListsSearchI
]; ];
} }
} }

View File

@ -12,26 +12,26 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\bid; namespace app\adminapi\lists\bid;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\auth\Admin; use app\common\lists\ListsSearchInterface;
use app\common\model\bid\BidBiddingDecision; use app\common\model\auth\Admin;
use app\common\model\bid\BidBuyBiddingDocument; use app\common\model\bid\BidBiddingDecision;
use app\common\lists\ListsSearchInterface; use app\common\model\bid\BidBuyBiddingDocument;
use app\common\model\custom\Custom; use app\common\model\custom\Custom;
use app\common\model\project\Project; use app\common\model\project\Project;
/** /**
* 购买标书列表 * 购买标书列表
* Class BidBuyBiddingDocumentLists * Class BidBuyBiddingDocumentLists
* @package app\adminapi\listsbid * @package app\adminapi\listsbid
*/ */
class BidBuyBiddingDocumentLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class BidBuyBiddingDocumentLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -62,24 +62,24 @@ class BidBuyBiddingDocumentLists extends BaseAdminDataLists implements ListsSear
{ {
$params = $this->request->get(); $params = $this->request->get();
$where = []; $where = [];
if(isset($params['custom_name']) && $params['custom_name'] != ''){ if (isset($params['custom_name']) && $params['custom_name'] != '') {
$custom_ids = Custom::where('name','like','%'.$params['custom_name'].'%')->column('id'); $custom_ids = Custom::where('name', 'like', '%' . $params['custom_name'] . '%')->column('id');
$project_ids = Project::where('custom_id','in',$custom_ids)->column('id'); $project_ids = Project::where('custom_id', 'in', $custom_ids)->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
if(isset($params['bid_decision_code']) && $params['bid_decision_code'] != ''){ if (isset($params['bid_decision_code']) && $params['bid_decision_code'] != '') {
$bid_decision_ids = BidBiddingDecision::where('code','like','%'.$params['bid_decision_code'].'%')->column('id'); $bid_decision_ids = BidBiddingDecision::where('code', 'like', '%' . $params['bid_decision_code'] . '%')->column('id');
$where[] = ['bid_decision_id','in',$bid_decision_ids]; $where[] = ['bid_decision_id', 'in', $bid_decision_ids];
} }
return BidBuyBiddingDocument::field('id,project_id,bid_decision_id,bid_document_no,invite_tenders_company_name,bid_company_name,buyer,amount,buy_date') return BidBuyBiddingDocument::field('id,project_id,bid_decision_id,bid_document_no,invite_tenders_company_name,bid_company_name,buyer,amount,buy_date')
->where($this->searchWhere)->where($where) ->where($this->searchWhere)->where($where)
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($item){ ->select()->each(function ($item) {
$project = Project::field('custom_id,name,project_code')->where('id',$item['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $item['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$bid_decision = BidBiddingDecision::field('code,bidding_project_fund_source,bidding_time,bid_type,is_margin,margin_amount')->where('id',$item['bid_decision_id'])->findOrEmpty(); $bid_decision = BidBiddingDecision::field('code,bidding_project_fund_source,bidding_time,bid_type,is_margin,margin_amount')->where('id', $item['bid_decision_id'])->findOrEmpty();
$admin = Admin::field('name')->where('id',$item['buyer'])->findOrEmpty(); $admin = Admin::field('name')->where('id', $item['buyer'])->findOrEmpty();
$item['project_name'] = $project['name']; $item['project_name'] = $project['name'];
$item['project_code'] = $project['project_code']; $item['project_code'] = $project['project_code'];
$item['custom_name'] = $custom['name']; $item['custom_name'] = $custom['name'];
@ -90,6 +90,7 @@ class BidBuyBiddingDocumentLists extends BaseAdminDataLists implements ListsSear
$item['bid_type'] = $bid_decision->bid_type_text; $item['bid_type'] = $bid_decision->bid_type_text;
$item['is_margin'] = $bid_decision->is_margin_text; $item['is_margin'] = $bid_decision->is_margin_text;
$item['margin_amount'] = $bid_decision['margin_amount']; $item['margin_amount'] = $bid_decision['margin_amount'];
$item['approve_check_status_text'] = $item->approve_check_status_text;
return $item; return $item;
}) })
->toArray(); ->toArray();
@ -106,14 +107,14 @@ class BidBuyBiddingDocumentLists extends BaseAdminDataLists implements ListsSear
{ {
$params = $this->request->get(); $params = $this->request->get();
$where = []; $where = [];
if(isset($params['custom_name']) && $params['custom_name'] != ''){ if (isset($params['custom_name']) && $params['custom_name'] != '') {
$custom_ids = Custom::where('name','like','%'.$params['custom_name'].'%')->column('id'); $custom_ids = Custom::where('name', 'like', '%' . $params['custom_name'] . '%')->column('id');
$project_ids = Project::where('custom_id','in',$custom_ids)->column('id'); $project_ids = Project::where('custom_id', 'in', $custom_ids)->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
if(isset($params['bid_decision_code']) && $params['bid_decision_code'] != ''){ if (isset($params['bid_decision_code']) && $params['bid_decision_code'] != '') {
$bid_decision_ids = BidBiddingDecision::where('code','like','%'.$params['bid_decision_code'].'%')->column('id'); $bid_decision_ids = BidBiddingDecision::where('code', 'like', '%' . $params['bid_decision_code'] . '%')->column('id');
$where[] = ['bid_decision_id','in',$bid_decision_ids]; $where[] = ['bid_decision_id', 'in', $bid_decision_ids];
} }
return BidBuyBiddingDocument::where($this->searchWhere)->where($where)->count(); return BidBuyBiddingDocument::where($this->searchWhere)->where($where)->count();
} }
@ -147,4 +148,4 @@ class BidBuyBiddingDocumentLists extends BaseAdminDataLists implements ListsSear
'bid_type' => '招标方式', 'bid_type' => '招标方式',
]; ];
} }
} }

View File

@ -12,28 +12,28 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\bid; namespace app\adminapi\lists\bid;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\auth\Admin; use app\common\lists\ListsSearchInterface;
use app\common\model\bid\BidBiddingDecision; use app\common\model\auth\Admin;
use app\common\model\bid\BidBuyBiddingDocument; use app\common\model\bid\BidBiddingDecision;
use app\common\model\bid\BidDocumentExamination; use app\common\model\bid\BidBuyBiddingDocument;
use app\common\lists\ListsSearchInterface; use app\common\model\bid\BidDocumentExamination;
use app\common\model\bid\BidDocumentExaminationDetail; use app\common\model\bid\BidDocumentExaminationDetail;
use app\common\model\custom\Custom; use app\common\model\custom\Custom;
use app\common\model\project\Project; use app\common\model\project\Project;
/** /**
* 标书审查列表 * 标书审查列表
* Class BidDocumentExaminationLists * Class BidDocumentExaminationLists
* @package app\adminapi\listsbid * @package app\adminapi\listsbid
*/ */
class BidDocumentExaminationLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class BidDocumentExaminationLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -62,22 +62,22 @@ class BidDocumentExaminationLists extends BaseAdminDataLists implements ListsSea
*/ */
public function lists(): array public function lists(): array
{ {
$params = $this->request->get(['bid_document_no','project_name']); $params = $this->request->get(['bid_document_no', 'project_name']);
$where = []; $where = [];
if(isset($params['bid_document_no']) && $params['bid_document_no'] != ''){ if (isset($params['bid_document_no']) && $params['bid_document_no'] != '') {
$bid_doc_ids = BidBuyBiddingDocument::where('bid_document_no','like','%'.$params['bid_document_no'].'%')->column('id'); $bid_doc_ids = BidBuyBiddingDocument::where('bid_document_no', 'like', '%' . $params['bid_document_no'] . '%')->column('id');
$where[] = ['buy_bidding_document_id','in',$bid_doc_ids]; $where[] = ['buy_bidding_document_id', 'in', $bid_doc_ids];
} }
$field = 'id,code,project_id,buy_bidding_document_id'; $field = 'id,code,project_id,buy_bidding_document_id';
return BidDocumentExamination::where($this->searchWhere)->where($where) return BidDocumentExamination::where($this->searchWhere)->where($where)
->field($field)->limit($this->limitOffset, $this->limitLength) ->field($field)->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($item){ ->select()->each(function ($item) {
$project = Project::field('custom_id,name,project_code')->where('id',$item['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $item['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$bid_buy_doc = BidBuyBiddingDocument::field('bid_decision_id,bid_document_no,invite_tenders_company_name,bid_company_name,buyer,buy_date')->where('id',$item['buy_bidding_document_id'])->findOrEmpty(); $bid_buy_doc = BidBuyBiddingDocument::field('bid_decision_id,bid_document_no,invite_tenders_company_name,bid_company_name,buyer,buy_date')->where('id', $item['buy_bidding_document_id'])->findOrEmpty();
$bid_decision = BidBiddingDecision::field('bidding_project_fund_source,bidding_time,bid_type,is_margin,margin_amount,bid_opening_date')->where('id',$bid_buy_doc['bid_decision_id'])->findOrEmpty(); $bid_decision = BidBiddingDecision::field('bidding_project_fund_source,bidding_time,bid_type,is_margin,margin_amount,bid_opening_date')->where('id', $bid_buy_doc['bid_decision_id'])->findOrEmpty();
$buyer = Admin::field('name')->where('id',$bid_buy_doc['buyer'])->findOrEmpty(); $buyer = Admin::field('name')->where('id', $bid_buy_doc['buyer'])->findOrEmpty();
$item['project_name'] = $project['name']; $item['project_name'] = $project['name'];
$item['project_code'] = $project['project_code']; $item['project_code'] = $project['project_code'];
$item['custom_name'] = $custom['name']; $item['custom_name'] = $custom['name'];
@ -91,7 +91,8 @@ class BidDocumentExaminationLists extends BaseAdminDataLists implements ListsSea
$item['is_margin'] = $bid_decision->is_margin_text; $item['is_margin'] = $bid_decision->is_margin_text;
$item['margin_amount'] = $bid_decision['margin_amount']; $item['margin_amount'] = $bid_decision['margin_amount'];
$item['bid_opening_date'] = $bid_decision['bid_opening_date']; $item['bid_opening_date'] = $bid_decision['bid_opening_date'];
$item['total_amount'] = BidDocumentExaminationDetail::where('bid_document_examination_id',$item['id'])->sum('sale_amount'); $item['total_amount'] = BidDocumentExaminationDetail::where('bid_document_examination_id', $item['id'])->sum('sale_amount');
$item['approve_check_status_text'] = $item->approve_check_status_text;
return $item; return $item;
}) })
->toArray(); ->toArray();
@ -106,11 +107,11 @@ class BidDocumentExaminationLists extends BaseAdminDataLists implements ListsSea
*/ */
public function count(): int public function count(): int
{ {
$params = $this->request->get(['bid_document_no','project_name']); $params = $this->request->get(['bid_document_no', 'project_name']);
$where = []; $where = [];
if(isset($params['bid_document_no']) && $params['bid_document_no'] != ''){ if (isset($params['bid_document_no']) && $params['bid_document_no'] != '') {
$bid_doc_ids = BidBuyBiddingDocument::where('bid_document_no','like','%'.$params['bid_document_no'].'%')->column('id'); $bid_doc_ids = BidBuyBiddingDocument::where('bid_document_no', 'like', '%' . $params['bid_document_no'] . '%')->column('id');
$where[] = ['buy_bidding_document_id','in',$bid_doc_ids]; $where[] = ['buy_bidding_document_id', 'in', $bid_doc_ids];
} }
return BidDocumentExamination::field('id')->where($this->searchWhere)->where($where)->count(); return BidDocumentExamination::field('id')->where($this->searchWhere)->where($where)->count();
} }
@ -143,4 +144,4 @@ class BidDocumentExaminationLists extends BaseAdminDataLists implements ListsSea
]; ];
} }
} }

View File

@ -12,25 +12,25 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\bid; namespace app\adminapi\lists\bid;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\bid\BidBiddingDecision; use app\common\lists\ListsSearchInterface;
use app\common\model\bid\BidSecurityApply; use app\common\model\bid\BidBiddingDecision;
use app\common\lists\ListsSearchInterface; use app\common\model\bid\BidSecurityApply;
use app\common\model\bid\BidSecurityRefund; use app\common\model\bid\BidSecurityRefund;
use app\common\model\custom\Custom; use app\common\model\custom\Custom;
use app\common\model\project\Project; use app\common\model\project\Project;
/** /**
* BidSecurityApply列表 * BidSecurityApply列表
* Class BidSecurityApplyLists * Class BidSecurityApplyLists
* @package app\adminapi\listsbid * @package app\adminapi\listsbid
*/ */
class BidSecurityApplyLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class BidSecurityApplyLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -63,10 +63,10 @@ class BidSecurityApplyLists extends BaseAdminDataLists implements ListsSearchInt
->field('id,security_apply_code,project_id,bidding_decision_id,applier,refund_date,create_time') ->field('id,security_apply_code,project_id,bidding_decision_id,applier,refund_date,create_time')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$bidding_decision = BidBiddingDecision::field('code,margin_amount,bidding_time')->where('id',$data['bidding_decision_id'])->findOrEmpty(); $bidding_decision = BidBiddingDecision::field('code,margin_amount,bidding_time')->where('id', $data['bidding_decision_id'])->findOrEmpty();
$project = Project::field('custom_id,name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$data['bidding_decision_code'] = $bidding_decision['code']; $data['bidding_decision_code'] = $bidding_decision['code'];
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
@ -75,9 +75,10 @@ class BidSecurityApplyLists extends BaseAdminDataLists implements ListsSearchInt
//保证金金额 //保证金金额
$data['margin_amount'] = $bidding_decision['margin_amount']; $data['margin_amount'] = $bidding_decision['margin_amount'];
//已退金额 //已退金额
$data['has_refund_amount'] = BidSecurityRefund::where('bid_security_apply_id',$data['id'])->sum('refund_amount'); $data['has_refund_amount'] = BidSecurityRefund::where('bid_security_apply_id', $data['id'])->sum('refund_amount');
//未退金额 //未退金额
$data['not_refund_amount'] = $data['margin_amount'] - $data['has_refund_amount']; $data['not_refund_amount'] = $data['margin_amount'] - $data['has_refund_amount'];
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -123,4 +124,4 @@ class BidSecurityApplyLists extends BaseAdminDataLists implements ListsSearchInt
]; ];
} }
} }

View File

@ -12,27 +12,26 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\bid; namespace app\adminapi\lists\bid;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\bank\BankAccount; use app\common\lists\ListsSearchInterface;
use app\common\model\bid\BidBiddingDecision; use app\common\model\bank\BankAccount;
use app\common\model\bid\BidSecurityApply; use app\common\model\bid\BidBiddingDecision;
use app\common\model\bid\BidSecurityRefund; use app\common\model\bid\BidSecurityApply;
use app\common\lists\ListsSearchInterface; use app\common\model\bid\BidSecurityRefund;
use app\common\model\custom\Custom; use app\common\model\custom\Custom;
use app\common\model\project\Project; use app\common\model\project\Project;
use think\facade\Db;
/** /**
* BidSecurityRefund列表 * BidSecurityRefund列表
* Class BidSecurityRefundLists * Class BidSecurityRefundLists
* @package app\adminapi\listsbid * @package app\adminapi\listsbid
*/ */
class BidSecurityRefundLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class BidSecurityRefundLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -64,17 +63,18 @@ class BidSecurityRefundLists extends BaseAdminDataLists implements ListsSearchIn
->field('id,project_id,bid_security_apply_id,refund_amount,refund_date,remark,annex,bank_account_id,create_time') ->field('id,project_id,bid_security_apply_id,refund_amount,refund_date,remark,annex,bank_account_id,create_time')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('custom_id,name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$bid_security_apply = BidSecurityApply::field('bidding_decision_id')->where('id',$data['bid_security_apply_id'])->findOrEmpty(); $bid_security_apply = BidSecurityApply::field('bidding_decision_id')->where('id', $data['bid_security_apply_id'])->findOrEmpty();
$bidding_decision = BidBiddingDecision::field('code,bidding_time')->where('id',$bid_security_apply['bidding_decision_id'])->findOrEmpty(); $bidding_decision = BidBiddingDecision::field('code,bidding_time')->where('id', $bid_security_apply['bidding_decision_id'])->findOrEmpty();
$data['bidding_decision_code'] = $bidding_decision['code']; $data['bidding_decision_code'] = $bidding_decision['code'];
$data['custom_name'] = $custom['name']; $data['custom_name'] = $custom['name'];
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['bidding_time'] = $bidding_decision['bidding_time']; $data['bidding_time'] = $bidding_decision['bidding_time'];
$data['bank_account_info'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id',$data['bank_account_id'])->findOrEmpty(); $data['bank_account_info'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id', $data['bank_account_id'])->findOrEmpty();
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -117,4 +117,4 @@ class BidSecurityRefundLists extends BaseAdminDataLists implements ListsSearchIn
"remark" => "备注", "remark" => "备注",
]; ];
} }
} }

View File

@ -12,30 +12,29 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\contract; namespace app\adminapi\lists\contract;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\auth\Admin; use app\common\lists\ListsSearchInterface;
use app\common\model\bid\BidBuyBiddingDocument; use app\common\model\auth\Admin;
use app\common\model\contract\Contract; use app\common\model\bid\BidBuyBiddingDocument;
use app\common\lists\ListsSearchInterface; use app\common\model\contract\Contract;
use app\common\model\contract\ContractNegotiation; use app\common\model\contract\ContractNegotiation;
use app\common\model\custom\Custom; use app\common\model\custom\Custom;
use app\common\model\finance\FinanceInvoiceApply; use app\common\model\finance\FinanceInvoiceApply;
use app\common\model\finance\FinanceRefundApply; use app\common\model\finance\FinanceRefundApply;
use app\common\model\finance\FinanceReturnedRecord; use app\common\model\finance\FinanceReturnedRecord;
use app\common\model\project\Project; use app\common\model\project\Project;
use think\facade\Db;
/** /**
* 项目合同列表 * 项目合同列表
* Class ContractLists * Class ContractLists
* @package app\adminapi\listscontract * @package app\adminapi\listscontract
*/ */
class ContractLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class ContractLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -47,8 +46,8 @@ class ContractLists extends BaseAdminDataLists implements ListsSearchInterface,L
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['project_id','contract_type', 'contract_code'], '=' => ['project_id', 'contract_type', 'contract_code'],
'%like%' => ['contract_code','contract_name'] '%like%' => ['contract_code', 'contract_name']
]; ];
} }
@ -66,22 +65,22 @@ class ContractLists extends BaseAdminDataLists implements ListsSearchInterface,L
{ {
$params = $this->request->get(); $params = $this->request->get();
$where = []; $where = [];
if(isset($params['business_director_name']) && $params['business_director_name'] != ''){ if (isset($params['business_director_name']) && $params['business_director_name'] != '') {
$business_director_ids = Admin::where('name','like','%'.$params['business_director_name'].'%')->column('id'); $business_director_ids = Admin::where('name', 'like', '%' . $params['business_director_name'] . '%')->column('id');
$where[] = ['business_director','in',$business_director_ids]; $where[] = ['business_director', 'in', $business_director_ids];
} }
if(isset($params['custom_id']) && $params['custom_id'] != ''){ if (isset($params['custom_id']) && $params['custom_id'] != '') {
$project_ids = Project::where('custom_id','=',$params['custom_id'])->column('id'); $project_ids = Project::where('custom_id', '=', $params['custom_id'])->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
return Contract::where($this->searchWhere)->where($where) return Contract::where($this->searchWhere)->where($where)
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('custom_id,name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$buy_bidding_document = BidBuyBiddingDocument::field('bid_document_no')->where('id',$data['buy_bidding_document_id'])->findOrEmpty(); $buy_bidding_document = BidBuyBiddingDocument::field('bid_document_no')->where('id', $data['buy_bidding_document_id'])->findOrEmpty();
$business_director = Admin::field('name')->where('id',$data['business_director'])->findOrEmpty(); $business_director = Admin::field('name')->where('id', $data['business_director'])->findOrEmpty();
$data['custom_name'] = $custom['name']; $data['custom_name'] = $custom['name'];
$data['bid_document_no'] = $buy_bidding_document['bid_document_no']; $data['bid_document_no'] = $buy_bidding_document['bid_document_no'];
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
@ -91,13 +90,13 @@ class ContractLists extends BaseAdminDataLists implements ListsSearchInterface,L
$data['contract_status_text'] = $data->contract_status_text; $data['contract_status_text'] = $data->contract_status_text;
$data['business_director_name'] = $business_director['name']; $data['business_director_name'] = $business_director['name'];
//洽商金额 //洽商金额
$data['negotiation_amount'] = ContractNegotiation::where('contract_id',$data['id'])->sum('negotiation_amount'); $data['negotiation_amount'] = ContractNegotiation::where('contract_id', $data['id'])->sum('negotiation_amount');
//回款金额 //回款金额
$data['returned_amount'] = FinanceReturnedRecord::where('contract_id',$data['id'])->sum('amount'); $data['returned_amount'] = FinanceReturnedRecord::where('contract_id', $data['id'])->sum('amount');
//开票金额 //开票金额
$data['invoicing_amount'] = FinanceInvoiceApply::where('contract_id',$data['id'])->sum('invoicing_amount'); $data['invoicing_amount'] = FinanceInvoiceApply::where('contract_id', $data['id'])->sum('invoicing_amount');
//退款金额 //退款金额
$data['refund_amount'] = FinanceRefundApply::where('contract_id',$data['id'])->sum('amount'); $data['refund_amount'] = FinanceRefundApply::where('contract_id', $data['id'])->sum('amount');
//实际合同金额=合同金额+洽商金额-退款金额 //实际合同金额=合同金额+洽商金额-退款金额
$data['reality_contract_amount'] = $data['amount'] + $data['negotiation_amount'] - $data['refund_amount']; $data['reality_contract_amount'] = $data['amount'] + $data['negotiation_amount'] - $data['refund_amount'];
//未回款金额 //未回款金额
@ -106,6 +105,7 @@ class ContractLists extends BaseAdminDataLists implements ListsSearchInterface,L
$data['not_invoicing_amount'] = $data['reality_contract_amount'] - $data['invoicing_amount']; $data['not_invoicing_amount'] = $data['reality_contract_amount'] - $data['invoicing_amount'];
//结算差异(带计算) //结算差异(带计算)
$data['settlement_difference'] = 0; $data['settlement_difference'] = 0;
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -122,13 +122,13 @@ class ContractLists extends BaseAdminDataLists implements ListsSearchInterface,L
{ {
$params = $this->request->get(); $params = $this->request->get();
$where = []; $where = [];
if(isset($params['business_director_name']) && $params['business_director_name'] != ''){ if (isset($params['business_director_name']) && $params['business_director_name'] != '') {
$business_director_ids = Admin::where('name','like','%'.$params['business_director_name'].'%')->column('id'); $business_director_ids = Admin::where('name', 'like', '%' . $params['business_director_name'] . '%')->column('id');
$where[] = ['business_director','in',$business_director_ids]; $where[] = ['business_director', 'in', $business_director_ids];
} }
if(isset($params['custom_id']) && $params['custom_id'] != ''){ if (isset($params['custom_id']) && $params['custom_id'] != '') {
$project_ids = Project::where('custom_id','=',$params['custom_id'])->column('id'); $project_ids = Project::where('custom_id', '=', $params['custom_id'])->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
return Contract::field('id')->where($this->searchWhere)->where($where)->count(); return Contract::field('id')->where($this->searchWhere)->where($where)->count();
} }
@ -158,15 +158,15 @@ class ContractLists extends BaseAdminDataLists implements ListsSearchInterface,L
"contract_status_text" => "合同状态", "contract_status_text" => "合同状态",
"expire" => "合同有效期", "expire" => "合同有效期",
"contract_date" => "签约日期", "contract_date" => "签约日期",
"amount" =>"合同金额", "amount" => "合同金额",
"negotiation_amount" =>"洽商金额", "negotiation_amount" => "洽商金额",
"reality_contract_amount" =>"实际合同金额", "reality_contract_amount" => "实际合同金额",
"returned_amount" =>"已回款", "returned_amount" => "已回款",
"not_returned_amount" =>"未回款", "not_returned_amount" => "未回款",
"invoicing_amount" =>"已开票", "invoicing_amount" => "已开票",
"not_invoicing_amount" =>"未开票", "not_invoicing_amount" => "未开票",
"refund_amount" =>"已退款金额", "refund_amount" => "已退款金额",
]; ];
} }
} }

View File

@ -12,26 +12,25 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\contract; namespace app\adminapi\lists\contract;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\auth\Admin; use app\common\lists\ListsSearchInterface;
use app\common\model\contract\Contract; use app\common\model\auth\Admin;
use app\common\model\contract\ContractNegotiation; use app\common\model\contract\Contract;
use app\common\lists\ListsSearchInterface; use app\common\model\contract\ContractNegotiation;
use app\common\model\custom\Custom; use app\common\model\custom\Custom;
use app\common\model\project\Project; use app\common\model\project\Project;
use think\facade\Db;
/** /**
* 合同洽商列表 * 合同洽商列表
* Class ContractNegotiationLists * Class ContractNegotiationLists
* @package app\adminapi\listscontract * @package app\adminapi\listscontract
*/ */
class ContractNegotiationLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class ContractNegotiationLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -62,19 +61,19 @@ class ContractNegotiationLists extends BaseAdminDataLists implements ListsSearch
{ {
$params = $this->request->get(); $params = $this->request->get();
$where = []; $where = [];
if(isset($params['custom_id']) && $params['custom_id'] != ''){ if (isset($params['custom_id']) && $params['custom_id'] != '') {
$project_ids = Project::where('custom_id',$params['custom_id'])->column('id'); $project_ids = Project::where('custom_id', $params['custom_id'])->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
return ContractNegotiation::field('id,project_id,contract_id,negotiation_name,negotiation_no,negotiation_amount,negotiation_type,profit,profit_rate') return ContractNegotiation::field('id,project_id,contract_id,negotiation_name,negotiation_no,negotiation_amount,negotiation_type,profit,profit_rate')
->where($this->searchWhere)->where($where) ->where($this->searchWhere)->where($where)
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$contract = Contract::field('contract_name,contract_code,contract_date,business_director')->where('id',$data['contract_id'])->findOrEmpty(); $contract = Contract::field('contract_name,contract_code,contract_date,business_director')->where('id', $data['contract_id'])->findOrEmpty();
$project = Project::field('custom_id,name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$business_director = Admin::field('name')->where('id',$contract['business_director'])->findOrEmpty(); $business_director = Admin::field('name')->where('id', $contract['business_director'])->findOrEmpty();
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['contract_code'] = $contract['contract_code']; $data['contract_code'] = $contract['contract_code'];
$data['contract_date'] = $contract['contract_date']; $data['contract_date'] = $contract['contract_date'];
@ -83,7 +82,8 @@ class ContractNegotiationLists extends BaseAdminDataLists implements ListsSearch
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['custom_name'] = $custom['name']; $data['custom_name'] = $custom['name'];
$data['negotiation_type'] = $data->negotiation_type_text; $data['negotiation_type'] = $data->negotiation_type_text;
$data['profit_rate'] = ($data['profit_rate'] * 100).'%'; $data['profit_rate'] = ($data['profit_rate'] * 100) . '%';
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -100,9 +100,9 @@ class ContractNegotiationLists extends BaseAdminDataLists implements ListsSearch
{ {
$params = $this->request->get(); $params = $this->request->get();
$where = []; $where = [];
if(isset($params['custom_id']) && $params['custom_id'] != ''){ if (isset($params['custom_id']) && $params['custom_id'] != '') {
$project_ids = Project::where('custom_id',$params['custom_id'])->column('id'); $project_ids = Project::where('custom_id', $params['custom_id'])->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
return ContractNegotiation::field('id')->where($this->searchWhere)->where($where)->count(); return ContractNegotiation::field('id')->where($this->searchWhere)->where($where)->count();
} }
@ -135,4 +135,4 @@ class ContractNegotiationLists extends BaseAdminDataLists implements ListsSearch
]; ];
} }
} }

View File

@ -12,28 +12,27 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\contract; namespace app\adminapi\lists\contract;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\contract\ProcurementContract; use app\common\lists\ListsSearchInterface;
use app\common\lists\ListsSearchInterface; use app\common\model\contract\ProcurementContract;
use app\common\model\contract\ProcurementContractDetail; use app\common\model\contract\ProcurementContractDetail;
use app\common\model\finance\FinancePaymentApply; use app\common\model\finance\FinancePaymentApply;
use app\common\model\finance\FinanceReceiptRecord; use app\common\model\finance\FinanceReceiptRecord;
use app\common\model\finance\FinanceRefundRecord; use app\common\model\finance\FinanceRefundRecord;
use app\common\model\project\Project; use app\common\model\project\Project;
use app\common\model\supplier\Supplier; use app\common\model\supplier\Supplier;
use think\facade\Db;
/** /**
* 采购合同列表 * 采购合同列表
* Class ProcurementContractLists * Class ProcurementContractLists
* @package app\adminapi\listscontract * @package app\adminapi\listscontract
*/ */
class ProcurementContractLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class ProcurementContractLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -65,31 +64,32 @@ class ProcurementContractLists extends BaseAdminDataLists implements ListsSearch
->field('id,project_id,supplier_id,contract_no,contract_name,contract_type,signing_date') ->field('id,project_id,supplier_id,contract_no,contract_name,contract_type,signing_date')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$supplier = Supplier::field('supplier_name,supplier_code')->where('id',$data['supplier_id'])->findOrEmpty(); $supplier = Supplier::field('supplier_name,supplier_code')->where('id', $data['supplier_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['supplier_name'] = $supplier['supplier_name']; $data['supplier_name'] = $supplier['supplier_name'];
$data['supplier_code'] = $supplier['supplier_code']; $data['supplier_code'] = $supplier['supplier_code'];
$data['contract_type'] = $data->contract_type_text; $data['contract_type'] = $data->contract_type_text;
$data['contract_amount'] = ProcurementContractDetail::where('contract_id',$data['id'])->sum('amount_including_tax'); $data['contract_amount'] = ProcurementContractDetail::where('contract_id', $data['id'])->sum('amount_including_tax');
//已付款金额 //已付款金额
$data['has_pay_amount'] = FinancePaymentApply::where('contract_id',$data['id'])->where('contract_type',1)->sum('amount'); $data['has_pay_amount'] = FinancePaymentApply::where('contract_id', $data['id'])->where('contract_type', 1)->sum('amount');
//未付款金额 //未付款金额
$data['not_pay_amount'] = $data['contract_amount'] - $data['has_pay_amount']; $data['not_pay_amount'] = $data['contract_amount'] - $data['has_pay_amount'];
//已开票金额 //已开票金额
$data['has_invoice_amount'] = FinanceReceiptRecord::where('contract_id',$data['id'])->where('contract_type',1)->sum('invoice_amount'); $data['has_invoice_amount'] = FinanceReceiptRecord::where('contract_id', $data['id'])->where('contract_type', 1)->sum('invoice_amount');
//未开票金额 //未开票金额
$data['not_invoice_amount'] = $data['contract_amount'] - $data['has_invoice_amount']; $data['not_invoice_amount'] = $data['contract_amount'] - $data['has_invoice_amount'];
//退款金额 //退款金额
$data['refund_amount'] = FinanceRefundRecord::where('contract_id',$data['id'])->where('contract_type',1)->sum('refund_amount'); $data['refund_amount'] = FinanceRefundRecord::where('contract_id', $data['id'])->where('contract_type', 1)->sum('refund_amount');
//数量 //数量
$data['num'] = ProcurementContractDetail::where('contract_id',$data['id'])->sum('num'); $data['num'] = ProcurementContractDetail::where('contract_id', $data['id'])->sum('num');
//已入库数量 //已入库数量
$data['has_storage_num'] = 0; $data['has_storage_num'] = 0;
//未入库数量 //未入库数量
$data['not_storage_num'] = $data['num'] - $data['has_storage_num']; $data['not_storage_num'] = $data['num'] - $data['has_storage_num'];
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -140,4 +140,4 @@ class ProcurementContractLists extends BaseAdminDataLists implements ListsSearch
]; ];
} }
} }

View File

@ -12,29 +12,29 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\contract; namespace app\adminapi\lists\contract;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\contract\SubcontractingContract; use app\common\lists\ListsSearchInterface;
use app\common\lists\ListsSearchInterface; use app\common\model\contract\SubcontractingContract;
use app\common\model\contract\SubcontractingContractDetail; use app\common\model\contract\SubcontractingContractDetail;
use app\common\model\contract\SubcontractingContractNegotiation; use app\common\model\contract\SubcontractingContractNegotiation;
use app\common\model\finance\FinancePaymentApply; use app\common\model\finance\FinancePaymentApply;
use app\common\model\finance\FinanceReceiptRecord; use app\common\model\finance\FinanceReceiptRecord;
use app\common\model\finance\FinanceRefundRecord; use app\common\model\finance\FinanceRefundRecord;
use app\common\model\project\Project; use app\common\model\project\Project;
use app\common\model\supplier\Supplier; use app\common\model\supplier\Supplier;
/** /**
* SubcontractingContract列表 * SubcontractingContract列表
* Class SubcontractingContractLists * Class SubcontractingContractLists
* @package app\adminapi\listscontract * @package app\adminapi\listscontract
*/ */
class SubcontractingContractLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class SubcontractingContractLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -66,33 +66,34 @@ class SubcontractingContractLists extends BaseAdminDataLists implements ListsSea
->field('id,project_id,supplier_id,contract_no,contract_name,contract_type,signing_date') ->field('id,project_id,supplier_id,contract_no,contract_name,contract_type,signing_date')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$supplier = Supplier::field('supplier_name,supplier_code')->where('id',$data['supplier_id'])->findOrEmpty(); $supplier = Supplier::field('supplier_name,supplier_code')->where('id', $data['supplier_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['supplier_name'] = $supplier['supplier_name']; $data['supplier_name'] = $supplier['supplier_name'];
$data['supplier_code'] = $supplier['supplier_code']; $data['supplier_code'] = $supplier['supplier_code'];
$data['contract_type'] = $data->contract_type_text; $data['contract_type'] = $data->contract_type_text;
$data['contract_amount'] = SubcontractingContractDetail::where('contract_id',$data['id'])->sum('amount_including_tax'); $data['contract_amount'] = SubcontractingContractDetail::where('contract_id', $data['id'])->sum('amount_including_tax');
//洽商金额 //洽商金额
$data['negotiation_amount'] = SubcontractingContractNegotiation::where('subcontracting_contract_id',$data['id'])->sum('negotiation_amount'); $data['negotiation_amount'] = SubcontractingContractNegotiation::where('subcontracting_contract_id', $data['id'])->sum('negotiation_amount');
//实际合同金额 //实际合同金额
$data['reality_contract_amount'] = $data['contract_amount'] + $data['negotiation_amount']; $data['reality_contract_amount'] = $data['contract_amount'] + $data['negotiation_amount'];
//不含税金额 //不含税金额
$data['excluding_tax_amount'] = SubcontractingContractDetail::where('contract_id',$data['id'])->sum('amount_excluding_tax'); $data['excluding_tax_amount'] = SubcontractingContractDetail::where('contract_id', $data['id'])->sum('amount_excluding_tax');
//已付款金额 //已付款金额
$data['has_pay_amount'] = FinancePaymentApply::where('contract_id',$data['id'])->where('contract_type',2)->sum('amount');; $data['has_pay_amount'] = FinancePaymentApply::where('contract_id', $data['id'])->where('contract_type', 2)->sum('amount');;
//未付款金额 //未付款金额
$data['not_pay_amount'] = $data['contract_amount'] - $data['has_pay_amount']; $data['not_pay_amount'] = $data['contract_amount'] - $data['has_pay_amount'];
//已开票金额 //已开票金额
$data['has_invoice_amount'] = FinanceReceiptRecord::where('contract_id',$data['id'])->where('contract_type',2)->sum('invoice_amount'); $data['has_invoice_amount'] = FinanceReceiptRecord::where('contract_id', $data['id'])->where('contract_type', 2)->sum('invoice_amount');
//未开票金额 //未开票金额
$data['not_invoice_amount'] = $data['contract_amount'] - $data['has_invoice_amount']; $data['not_invoice_amount'] = $data['contract_amount'] - $data['has_invoice_amount'];
//退款金额 //退款金额
$data['refund_amount'] = FinanceRefundRecord::where('contract_id',$data['id'])->where('contract_type',2)->sum('refund_amount');; $data['refund_amount'] = FinanceRefundRecord::where('contract_id', $data['id'])->where('contract_type', 2)->sum('refund_amount');;
//结算差异 //结算差异
$data['settlement_difference'] = 0; $data['settlement_difference'] = 0;
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -144,4 +145,4 @@ class SubcontractingContractLists extends BaseAdminDataLists implements ListsSea
]; ];
} }
} }

View File

@ -12,25 +12,24 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\contract; namespace app\adminapi\lists\contract;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\contract\SubcontractingContract; use app\common\lists\ListsSearchInterface;
use app\common\model\contract\SubcontractingContractNegotiation; use app\common\model\contract\SubcontractingContract;
use app\common\lists\ListsSearchInterface; use app\common\model\contract\SubcontractingContractNegotiation;
use app\common\model\project\Project; use app\common\model\project\Project;
use app\common\model\supplier\Supplier; use app\common\model\supplier\Supplier;
use think\facade\Db;
/** /**
* SubcontractingContractNegotiation列表 * SubcontractingContractNegotiation列表
* Class SubcontractingContractNegotiationLists * Class SubcontractingContractNegotiationLists
* @package app\adminapi\listscontract * @package app\adminapi\listscontract
*/ */
class SubcontractingContractNegotiationLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class SubcontractingContractNegotiationLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -42,8 +41,8 @@ class SubcontractingContractNegotiationLists extends BaseAdminDataLists implemen
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['project_id','subcontracting_contract_id','negotiation_type'], '=' => ['project_id', 'subcontracting_contract_id', 'negotiation_type'],
'%like%' => ['negotiation_name','negotiation_no'] '%like%' => ['negotiation_name', 'negotiation_no']
]; ];
} }
@ -63,10 +62,10 @@ class SubcontractingContractNegotiationLists extends BaseAdminDataLists implemen
->field('id,project_id,subcontracting_contract_id,negotiation_name,negotiation_no,negotiation_amount,negotiation_type,sign_date,warranty_amount,warranty_expire_date') ->field('id,project_id,subcontracting_contract_id,negotiation_name,negotiation_no,negotiation_amount,negotiation_type,sign_date,warranty_amount,warranty_expire_date')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$subcontracting_contract = SubcontractingContract::field('supplier_id,contract_no,contract_name')->where('id',$data['subcontracting_contract_id'])->findOrEmpty(); $subcontracting_contract = SubcontractingContract::field('supplier_id,contract_no,contract_name')->where('id', $data['subcontracting_contract_id'])->findOrEmpty();
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$supplier = Supplier::field('supplier_name,supplier_code')->where('id',$subcontracting_contract['supplier_id'])->findOrEmpty(); $supplier = Supplier::field('supplier_name,supplier_code')->where('id', $subcontracting_contract['supplier_id'])->findOrEmpty();
$data['contract_no'] = $subcontracting_contract['contract_no']; $data['contract_no'] = $subcontracting_contract['contract_no'];
$data['contract_name'] = $subcontracting_contract['contract_name']; $data['contract_name'] = $subcontracting_contract['contract_name'];
$data['supplier_name'] = $supplier['supplier_name']; $data['supplier_name'] = $supplier['supplier_name'];
@ -74,6 +73,7 @@ class SubcontractingContractNegotiationLists extends BaseAdminDataLists implemen
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['negotiation_type_text'] = $data->negotiation_type_text; $data['negotiation_type_text'] = $data->negotiation_type_text;
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -120,4 +120,4 @@ class SubcontractingContractNegotiationLists extends BaseAdminDataLists implemen
]; ];
} }
} }

View File

@ -12,24 +12,24 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\finance; namespace app\adminapi\lists\finance;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\contract\Contract; use app\common\lists\ListsSearchInterface;
use app\common\model\custom\Custom; use app\common\model\contract\Contract;
use app\common\model\finance\FinanceInvoiceApply; use app\common\model\custom\Custom;
use app\common\lists\ListsSearchInterface; use app\common\model\finance\FinanceInvoiceApply;
use app\common\model\project\Project; use app\common\model\project\Project;
/** /**
* FinanceInvoiceApply列表 * FinanceInvoiceApply列表
* Class FinanceInvoiceApplyLists * Class FinanceInvoiceApplyLists
* @package app\adminapi\listsfinance * @package app\adminapi\listsfinance
*/ */
class FinanceInvoiceApplyLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class FinanceInvoiceApplyLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -41,8 +41,8 @@ class FinanceInvoiceApplyLists extends BaseAdminDataLists implements ListsSearch
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['project_id', 'contract_id','invoice_type'], '=' => ['project_id', 'contract_id', 'invoice_type'],
'%like%' => ['invoicing_code','invoicing_company_name'], '%like%' => ['invoicing_code', 'invoicing_company_name'],
]; ];
} }
@ -60,18 +60,18 @@ class FinanceInvoiceApplyLists extends BaseAdminDataLists implements ListsSearch
{ {
$params = $this->request->get(['custom_id']); $params = $this->request->get(['custom_id']);
$where = []; $where = [];
if(isset($params['custom_id']) && $params['custom_id'] != ''){ if (isset($params['custom_id']) && $params['custom_id'] != '') {
$project_ids = Project::where('custom_id',$params['custom_id'])->column('id'); $project_ids = Project::where('custom_id', $params['custom_id'])->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
return FinanceInvoiceApply::where($this->searchWhere)->where($where) return FinanceInvoiceApply::where($this->searchWhere)->where($where)
->field('id,contract_id,project_id,invoicing_code,invoicing_date,period,tax_rate,invoice_type,invoicing_amount,tax_amount,amount_including_tax,invoicing_company_name') ->field('id,contract_id,project_id,invoicing_code,invoicing_date,period,tax_rate,invoice_type,invoicing_amount,tax_amount,amount_including_tax,invoicing_company_name')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('custom_id,name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$contract = Contract::field('contract_code,contract_name,amount')->where('id',$data['contract_id'])->findOrEmpty(); $contract = Contract::field('contract_code,contract_name,amount')->where('id', $data['contract_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['custom_name'] = $custom['name']; $data['custom_name'] = $custom['name'];
@ -80,6 +80,7 @@ class FinanceInvoiceApplyLists extends BaseAdminDataLists implements ListsSearch
$data['period'] = $data->period_text; $data['period'] = $data->period_text;
$data['tax_rate'] = $data->tax_rate_text; $data['tax_rate'] = $data->tax_rate_text;
$data['invoice_type'] = $data->invoice_type_text; $data['invoice_type'] = $data->invoice_type_text;
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -96,9 +97,9 @@ class FinanceInvoiceApplyLists extends BaseAdminDataLists implements ListsSearch
{ {
$params = $this->request->get(['custom_id']); $params = $this->request->get(['custom_id']);
$where = []; $where = [];
if(isset($params['custom_id']) && $params['custom_id'] != ''){ if (isset($params['custom_id']) && $params['custom_id'] != '') {
$project_ids = Project::where('custom_id',$params['custom_id'])->column('id'); $project_ids = Project::where('custom_id', $params['custom_id'])->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
return FinanceInvoiceApply::where($this->searchWhere)->where($where)->count(); return FinanceInvoiceApply::where($this->searchWhere)->where($where)->count();
} }
@ -130,4 +131,4 @@ class FinanceInvoiceApplyLists extends BaseAdminDataLists implements ListsSearch
]; ];
} }
} }

View File

@ -12,28 +12,27 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\finance; namespace app\adminapi\lists\finance;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\contract\ProcurementContract; use app\common\lists\ListsSearchInterface;
use app\common\model\contract\SubcontractingContract; use app\common\model\contract\ProcurementContract;
use app\common\model\finance\FinancePaymentApply; use app\common\model\contract\SubcontractingContract;
use app\common\lists\ListsSearchInterface; use app\common\model\finance\FinancePaymentApply;
use app\common\model\finance\FinancePaymentPlan; use app\common\model\finance\FinancePaymentPlan;
use app\common\model\project\Project; use app\common\model\project\Project;
use app\common\model\supplier\Supplier; use app\common\model\supplier\Supplier;
use think\facade\Db;
/** /**
* FinancePaymentApply列表 * FinancePaymentApply列表
* Class FinancePaymentApplyLists * Class FinancePaymentApplyLists
* @package app\adminapi\listsfinance * @package app\adminapi\listsfinance
*/ */
class FinancePaymentApplyLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class FinancePaymentApplyLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -65,26 +64,27 @@ class FinancePaymentApplyLists extends BaseAdminDataLists implements ListsSearch
return FinancePaymentApply::where($this->searchWhere) return FinancePaymentApply::where($this->searchWhere)
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$data['payment_nature_text'] = $data->payment_nature_text; $data['payment_nature_text'] = $data->payment_nature_text;
$data['pay_type_text'] = $data->pay_type_text; $data['pay_type_text'] = $data->pay_type_text;
$data['invoice_status_text'] = $data->invoice_status_text; $data['invoice_status_text'] = $data->invoice_status_text;
$supplier = Supplier::field('supplier_name,supplier_code')->where('id',$data['supplier_id'])->findOrEmpty(); $supplier = Supplier::field('supplier_name,supplier_code')->where('id', $data['supplier_id'])->findOrEmpty();
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$finance_payment_plan = FinancePaymentPlan::field('period')->where('id',$data['finance_payment_plan_id'])->findOrEmpty(); $finance_payment_plan = FinancePaymentPlan::field('period')->where('id', $data['finance_payment_plan_id'])->findOrEmpty();
$data['supplier_name'] = $supplier['supplier_name']; $data['supplier_name'] = $supplier['supplier_name'];
$data['supplier_code'] = $supplier['supplier_code']; $data['supplier_code'] = $supplier['supplier_code'];
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['contract_type_text'] = $data->contract_type_text; $data['contract_type_text'] = $data->contract_type_text;
if($data['contract_type'] == 1){ if ($data['contract_type'] == 1) {
$contract = ProcurementContract::field('contract_no,contract_name')->where('id',$data['contract_id'])->findOrEmpty(); $contract = ProcurementContract::field('contract_no,contract_name')->where('id', $data['contract_id'])->findOrEmpty();
}else{ } else {
$contract = SubcontractingContract::field('contract_no,contract_name')->where('id',$data['contract_id'])->findOrEmpty(); $contract = SubcontractingContract::field('contract_no,contract_name')->where('id', $data['contract_id'])->findOrEmpty();
} }
$data['contract_no'] = $contract['contract_no']; $data['contract_no'] = $contract['contract_no'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['period'] = $finance_payment_plan->period_text; $data['period'] = $finance_payment_plan->period_text;
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -131,4 +131,4 @@ class FinancePaymentApplyLists extends BaseAdminDataLists implements ListsSearch
]; ];
} }
} }

View File

@ -12,27 +12,26 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\finance; namespace app\adminapi\lists\finance;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\contract\ProcurementContract; use app\common\lists\ListsSearchInterface;
use app\common\model\contract\SubcontractingContract; use app\common\model\contract\ProcurementContract;
use app\common\model\finance\FinancePaymentApply; use app\common\model\contract\SubcontractingContract;
use app\common\model\finance\FinancePaymentPlan; use app\common\model\finance\FinancePaymentApply;
use app\common\lists\ListsSearchInterface; use app\common\model\finance\FinancePaymentPlan;
use app\common\model\project\Project; use app\common\model\project\Project;
use app\common\model\supplier\Supplier; use app\common\model\supplier\Supplier;
use think\facade\Db;
/** /**
* FinancePaymentPlan列表 * FinancePaymentPlan列表
* Class FinancePaymentPlanLists * Class FinancePaymentPlanLists
* @package app\adminapi\listsfinance * @package app\adminapi\listsfinance
*/ */
class FinancePaymentPlanLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class FinancePaymentPlanLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -64,25 +63,26 @@ class FinancePaymentPlanLists extends BaseAdminDataLists implements ListsSearchI
->field('id,supplier_id,project_id,contract_id,contract_type,period,pay_date,amount,foreign_currency_remark,status,remark') ->field('id,supplier_id,project_id,contract_id,contract_type,period,pay_date,amount,foreign_currency_remark,status,remark')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$data['period_text'] = $data->period_text; $data['period_text'] = $data->period_text;
$data['status_text'] = $data->status_text; $data['status_text'] = $data->status_text;
$data['contract_type_text'] = $data->contract_type_text; $data['contract_type_text'] = $data->contract_type_text;
$supplier = Supplier::field('supplier_name,supplier_code')->where('id',$data['supplier_id'])->findOrEmpty(); $supplier = Supplier::field('supplier_name,supplier_code')->where('id', $data['supplier_id'])->findOrEmpty();
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['supplier_name'] = $supplier['supplier_name']; $data['supplier_name'] = $supplier['supplier_name'];
$data['supplier_code'] = $supplier['supplier_code']; $data['supplier_code'] = $supplier['supplier_code'];
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
if($data['contract_type'] == 1){ if ($data['contract_type'] == 1) {
$contract = ProcurementContract::field('contract_no,contract_name')->where('id',$data['contract_id'])->findOrEmpty(); $contract = ProcurementContract::field('contract_no,contract_name')->where('id', $data['contract_id'])->findOrEmpty();
}else{ } else {
$contract = SubcontractingContract::field('contract_no,contract_name')->where('id',$data['contract_id'])->findOrEmpty(); $contract = SubcontractingContract::field('contract_no,contract_name')->where('id', $data['contract_id'])->findOrEmpty();
} }
$data['contract_no'] = $contract['contract_no']; $data['contract_no'] = $contract['contract_no'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['has_payment_amount'] = FinancePaymentApply::where('finance_payment_plan_id',$data['id'])->sum('amount'); $data['has_payment_amount'] = FinancePaymentApply::where('finance_payment_plan_id', $data['id'])->sum('amount');
$data['not_payment_amount'] = $data['amount'] - $data['has_payment_amount']; $data['not_payment_amount'] = $data['amount'] - $data['has_payment_amount'];
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -128,4 +128,4 @@ class FinancePaymentPlanLists extends BaseAdminDataLists implements ListsSearchI
]; ];
} }
} }

View File

@ -12,27 +12,26 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\finance; namespace app\adminapi\lists\finance;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\contract\ProcurementContract; use app\common\lists\ListsSearchInterface;
use app\common\model\contract\SubcontractingContract; use app\common\model\contract\ProcurementContract;
use app\common\model\finance\FinanceReceiptRecord; use app\common\model\contract\SubcontractingContract;
use app\common\lists\ListsSearchInterface; use app\common\model\finance\FinanceReceiptRecord;
use app\common\model\project\Project; use app\common\model\project\Project;
use app\common\model\supplier\Supplier; use app\common\model\supplier\Supplier;
use think\facade\Db;
/** /**
* FinanceReceiptRecord列表 * FinanceReceiptRecord列表
* Class FinanceReceiptRecordLists * Class FinanceReceiptRecordLists
* @package app\adminapi\listsfinance * @package app\adminapi\listsfinance
*/ */
class FinanceReceiptRecordLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class FinanceReceiptRecordLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -45,7 +44,7 @@ class FinanceReceiptRecordLists extends BaseAdminDataLists implements ListsSearc
{ {
return [ return [
'=' => ['supplier_id', 'project_id', 'contract_id', 'contract_type', 'invoice_type'], '=' => ['supplier_id', 'project_id', 'contract_id', 'contract_type', 'invoice_type'],
'%like%' => ['commitor','invoice_no'], '%like%' => ['commitor', 'invoice_no'],
]; ];
} }
@ -65,23 +64,24 @@ class FinanceReceiptRecordLists extends BaseAdminDataLists implements ListsSearc
->field('id,supplier_id,project_id,contract_id,contract_type,invoicing_date,commitor,invoice_type,invoice_no,invoice_amount,invoice_tax_rate,tax_amount,amount_excluding_tax,receipt_date') ->field('id,supplier_id,project_id,contract_id,contract_type,invoicing_date,commitor,invoice_type,invoice_no,invoice_amount,invoice_tax_rate,tax_amount,amount_excluding_tax,receipt_date')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$data['invoice_type_text'] = $data->invoice_type_text; $data['invoice_type_text'] = $data->invoice_type_text;
$data['invoice_tax_rate_text'] = $data->invoice_tax_rate_text; $data['invoice_tax_rate_text'] = $data->invoice_tax_rate_text;
$supplier = Supplier::field('supplier_name,supplier_code')->where('id',$data['supplier_id'])->findOrEmpty(); $supplier = Supplier::field('supplier_name,supplier_code')->where('id', $data['supplier_id'])->findOrEmpty();
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['supplier_name'] = $supplier['supplier_name']; $data['supplier_name'] = $supplier['supplier_name'];
$data['supplier_code'] = $supplier['supplier_code']; $data['supplier_code'] = $supplier['supplier_code'];
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
if($data['contract_type'] == 1){ if ($data['contract_type'] == 1) {
$contract = ProcurementContract::field('contract_no,contract_name')->where('id',$data['contract_id'])->findOrEmpty(); $contract = ProcurementContract::field('contract_no,contract_name')->where('id', $data['contract_id'])->findOrEmpty();
}else{ } else {
$contract = SubcontractingContract::field('contract_no,contract_name')->where('id',$data['contract_id'])->findOrEmpty(); $contract = SubcontractingContract::field('contract_no,contract_name')->where('id', $data['contract_id'])->findOrEmpty();
} }
$data['contract_no'] = $contract['contract_no']; $data['contract_no'] = $contract['contract_no'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['contract_type'] = $data->contract_type_text; $data['contract_type'] = $data->contract_type_text;
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -130,4 +130,4 @@ class FinanceReceiptRecordLists extends BaseAdminDataLists implements ListsSearc
]; ];
} }
} }

View File

@ -12,26 +12,26 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\finance; namespace app\adminapi\lists\finance;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\bank\BankAccount; use app\common\lists\ListsSearchInterface;
use app\common\model\contract\Contract; use app\common\model\bank\BankAccount;
use app\common\model\custom\Custom; use app\common\model\contract\Contract;
use app\common\model\finance\FinanceRefundApply; use app\common\model\custom\Custom;
use app\common\lists\ListsSearchInterface; use app\common\model\finance\FinanceRefundApply;
use app\common\model\project\Project; use app\common\model\project\Project;
/** /**
* FinanceRefundApply列表 * FinanceRefundApply列表
* Class FinanceRefundApplyLists * Class FinanceRefundApplyLists
* @package app\adminapi\listsfinance * @package app\adminapi\listsfinance
*/ */
class FinanceRefundApplyLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class FinanceRefundApplyLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -62,25 +62,26 @@ class FinanceRefundApplyLists extends BaseAdminDataLists implements ListsSearchI
{ {
$params = $this->request->get(['custom_id']); $params = $this->request->get(['custom_id']);
$where = []; $where = [];
if(isset($params['custom_id']) && $params['custom_id'] != ''){ if (isset($params['custom_id']) && $params['custom_id'] != '') {
$project_ids = Project::where('custom_id',$params['custom_id'])->column('id'); $project_ids = Project::where('custom_id', $params['custom_id'])->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
return FinanceRefundApply::where($this->searchWhere)->where($where) return FinanceRefundApply::where($this->searchWhere)->where($where)
->field('id,refund_code,project_id,contract_id,refund_date,reason,amount,refund_type,refund_user,remark,collection_bank,collection_account,bank_account_id') ->field('id,refund_code,project_id,contract_id,refund_date,reason,amount,refund_type,refund_user,remark,collection_bank,collection_account,bank_account_id')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('custom_id,name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$contract = Contract::field('contract_name,contract_code')->where('id',$data['contract_id'])->findOrEmpty(); $contract = Contract::field('contract_name,contract_code')->where('id', $data['contract_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['custom_name'] = $custom['name']; $data['custom_name'] = $custom['name'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['contract_code'] = $contract['contract_code']; $data['contract_code'] = $contract['contract_code'];
$data['refund_type'] = $data->refund_type_text; $data['refund_type'] = $data->refund_type_text;
$data['bank_account_info'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id',$data['bank_account_id'])->findOrEmpty(); $data['bank_account_info'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id', $data['bank_account_id'])->findOrEmpty();
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -97,9 +98,9 @@ class FinanceRefundApplyLists extends BaseAdminDataLists implements ListsSearchI
{ {
$params = $this->request->get(['custom_id']); $params = $this->request->get(['custom_id']);
$where = []; $where = [];
if(isset($params['custom_id']) && $params['custom_id'] != ''){ if (isset($params['custom_id']) && $params['custom_id'] != '') {
$project_ids = Project::where('custom_id',$params['custom_id'])->column('id'); $project_ids = Project::where('custom_id', $params['custom_id'])->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
return FinanceRefundApply::where($this->searchWhere)->where($where)->count(); return FinanceRefundApply::where($this->searchWhere)->where($where)->count();
} }
@ -132,4 +133,4 @@ class FinanceRefundApplyLists extends BaseAdminDataLists implements ListsSearchI
]; ];
} }
} }

View File

@ -12,27 +12,25 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\finance; namespace app\adminapi\lists\finance;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\bank\BankAccount; use app\common\lists\ListsSearchInterface;
use app\common\model\contract\ProcurementContract; use app\common\model\contract\ProcurementContract;
use app\common\model\contract\SubcontractingContract; use app\common\model\contract\SubcontractingContract;
use app\common\model\finance\FinanceRefundRecord; use app\common\model\finance\FinanceRefundRecord;
use app\common\lists\ListsSearchInterface; use app\common\model\project\Project;
use app\common\model\project\Project; use app\common\model\supplier\Supplier;
use app\common\model\supplier\Supplier;
use think\facade\Db;
/** /**
* FinanceRefundRecord列表 * FinanceRefundRecord列表
* Class FinanceRefundRecordLists * Class FinanceRefundRecordLists
* @package app\adminapi\listsfinance * @package app\adminapi\listsfinance
*/ */
class FinanceRefundRecordLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class FinanceRefundRecordLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -64,13 +62,13 @@ class FinanceRefundRecordLists extends BaseAdminDataLists implements ListsSearch
->field('id,supplier_id,project_id,contract_type,contract_id,refund_amount,refund_date,refund_type,reason,remark') ->field('id,supplier_id,project_id,contract_type,contract_id,refund_amount,refund_date,refund_type,reason,remark')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$supplier = Supplier::field('supplier_name,supplier_code')->where('id',$data['supplier_id'])->findOrEmpty(); $supplier = Supplier::field('supplier_name,supplier_code')->where('id', $data['supplier_id'])->findOrEmpty();
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
if($data['contract_type'] == 1){ if ($data['contract_type'] == 1) {
$contract = ProcurementContract::field('contract_no,contract_name')->where('id',$data['contract_id'])->findOrEmpty(); $contract = ProcurementContract::field('contract_no,contract_name')->where('id', $data['contract_id'])->findOrEmpty();
}else{ } else {
$contract = SubcontractingContract::field('contract_no,contract_name')->where('id',$data['contract_id'])->findOrEmpty(); $contract = SubcontractingContract::field('contract_no,contract_name')->where('id', $data['contract_id'])->findOrEmpty();
} }
$data['supplier_name'] = $supplier['supplier_name']; $data['supplier_name'] = $supplier['supplier_name'];
$data['supplier_code'] = $supplier['supplier_code']; $data['supplier_code'] = $supplier['supplier_code'];
@ -80,6 +78,7 @@ class FinanceRefundRecordLists extends BaseAdminDataLists implements ListsSearch
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['contract_type_text'] = $data->contract_type_text; $data['contract_type_text'] = $data->contract_type_text;
$data['refund_type_text'] = $data->refund_type_text; $data['refund_type_text'] = $data->refund_type_text;
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -125,4 +124,4 @@ class FinanceRefundRecordLists extends BaseAdminDataLists implements ListsSearch
]; ];
} }
} }

View File

@ -12,28 +12,27 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\finance; namespace app\adminapi\lists\finance;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\auth\Admin; use app\common\lists\ListsSearchInterface;
use app\common\model\contract\Contract; use app\common\model\auth\Admin;
use app\common\model\finance\FinanceReturnedMoney; use app\common\model\contract\Contract;
use app\common\model\finance\FinanceReturnedRecord; use app\common\model\custom\Custom;
use app\common\model\project\Project; use app\common\model\finance\FinanceReturnedMoney;
use app\common\model\custom\Custom; use app\common\model\finance\FinanceReturnedRecord;
use app\common\lists\ListsSearchInterface; use app\common\model\project\Project;
use think\facade\Db;
/** /**
* FinanceReturnedMoney列表 * FinanceReturnedMoney列表
* Class FinanceReturnedMoneyLists * Class FinanceReturnedMoneyLists
* @package app\adminapi\listsfinance * @package app\adminapi\listsfinance
*/ */
class FinanceReturnedMoneyLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class FinanceReturnedMoneyLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -63,19 +62,19 @@ class FinanceReturnedMoneyLists extends BaseAdminDataLists implements ListsSearc
{ {
$params = $this->request->get(['custom_id']); $params = $this->request->get(['custom_id']);
$where = []; $where = [];
if(isset($params['custom_id']) && $params['custom_id'] != ''){ if (isset($params['custom_id']) && $params['custom_id'] != '') {
$project_ids = Project::where('custom_id',$params['custom_id'])->column('id'); $project_ids = Project::where('custom_id', $params['custom_id'])->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
return FinanceReturnedMoney::where($this->searchWhere)->where($where) return FinanceReturnedMoney::where($this->searchWhere)->where($where)
->field('id,project_id,contract_id,return_date,period,amount,return_status,return_duty_id,remark') ->field('id,project_id,contract_id,return_date,period,amount,return_status,return_duty_id,remark')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('custom_id,name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$contract = Contract::field('contract_name,contract_code,contract_type')->where('id',$data['contract_id'])->findOrEmpty(); $contract = Contract::field('contract_name,contract_code,contract_type')->where('id', $data['contract_id'])->findOrEmpty();
$return_duty = Admin::field('name')->where('id',$data['return_duty_id'])->findOrEmpty(); $return_duty = Admin::field('name')->where('id', $data['return_duty_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['custom_name'] = $custom['name']; $data['custom_name'] = $custom['name'];
@ -85,8 +84,9 @@ class FinanceReturnedMoneyLists extends BaseAdminDataLists implements ListsSearc
$data['period'] = $data->period_text; $data['period'] = $data->period_text;
$data['return_status'] = $data->return_status_text; $data['return_status'] = $data->return_status_text;
$data['return_duty'] = $return_duty['name']; $data['return_duty'] = $return_duty['name'];
$data['has_return_amount'] = FinanceReturnedRecord::where('finance_returned_money_id',$data['id'])->sum('amount'); $data['has_return_amount'] = FinanceReturnedRecord::where('finance_returned_money_id', $data['id'])->sum('amount');
$data['not_return_amount'] = $data['amount'] - $data['has_return_amount']; $data['not_return_amount'] = $data['amount'] - $data['has_return_amount'];
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -103,9 +103,9 @@ class FinanceReturnedMoneyLists extends BaseAdminDataLists implements ListsSearc
{ {
$params = $this->request->get(['custom_id']); $params = $this->request->get(['custom_id']);
$where = []; $where = [];
if(isset($params['custom_id']) && $params['custom_id'] != ''){ if (isset($params['custom_id']) && $params['custom_id'] != '') {
$project_ids = Project::where('custom_id',$params['custom_id'])->column('id'); $project_ids = Project::where('custom_id', $params['custom_id'])->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
return FinanceReturnedMoney::where($this->searchWhere)->where($where)->count(); return FinanceReturnedMoney::where($this->searchWhere)->where($where)->count();
} }
@ -141,4 +141,4 @@ class FinanceReturnedMoneyLists extends BaseAdminDataLists implements ListsSearc
]; ];
} }
} }

View File

@ -12,27 +12,26 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\finance; namespace app\adminapi\lists\finance;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\bank\BankAccount; use app\common\lists\ListsSearchInterface;
use app\common\model\contract\Contract; use app\common\model\bank\BankAccount;
use app\common\model\custom\Custom; use app\common\model\contract\Contract;
use app\common\model\finance\FinanceReturnedMoney; use app\common\model\custom\Custom;
use app\common\model\finance\FinanceReturnedRecord; use app\common\model\finance\FinanceReturnedMoney;
use app\common\lists\ListsSearchInterface; use app\common\model\finance\FinanceReturnedRecord;
use app\common\model\project\Project; use app\common\model\project\Project;
use think\facade\Db;
/** /**
* FinanceReturnedRecord列表 * FinanceReturnedRecord列表
* Class FinanceReturnedRecordLists * Class FinanceReturnedRecordLists
* @package app\adminapi\listsfinance * @package app\adminapi\listsfinance
*/ */
class FinanceReturnedRecordLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class FinanceReturnedRecordLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -62,19 +61,19 @@ class FinanceReturnedRecordLists extends BaseAdminDataLists implements ListsSear
{ {
$params = $this->request->get(['custom_id']); $params = $this->request->get(['custom_id']);
$where = []; $where = [];
if(isset($params['custom_id']) && $params['custom_id'] != ''){ if (isset($params['custom_id']) && $params['custom_id'] != '') {
$project_ids = Project::where('custom_id',$params['custom_id'])->column('id'); $project_ids = Project::where('custom_id', $params['custom_id'])->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
return FinanceReturnedRecord::where($this->searchWhere)->where($where) return FinanceReturnedRecord::where($this->searchWhere)->where($where)
->field('id,project_id,contract_id,finance_returned_money_id,return_date,amount,collection_type,invoice_status,pay_type,receiver,bank_account_id') ->field('id,project_id,contract_id,finance_returned_money_id,return_date,amount,collection_type,invoice_status,pay_type,receiver,bank_account_id')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('custom_id,name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$contract = Contract::field('contract_name,contract_code')->where('id',$data['contract_id'])->findOrEmpty(); $contract = Contract::field('contract_name,contract_code')->where('id', $data['contract_id'])->findOrEmpty();
$finance_returned_money = FinanceReturnedMoney::field('period')->where('id',$data['finance_returned_money_id'])->findOrEmpty(); $finance_returned_money = FinanceReturnedMoney::field('period')->where('id', $data['finance_returned_money_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['custom_name'] = $custom['name']; $data['custom_name'] = $custom['name'];
@ -84,7 +83,8 @@ class FinanceReturnedRecordLists extends BaseAdminDataLists implements ListsSear
$data['collection_type'] = $data->collection_type_text; $data['collection_type'] = $data->collection_type_text;
$data['invoice_status'] = $data->invoice_status_text; $data['invoice_status'] = $data->invoice_status_text;
$data['pay_type'] = $data->pay_type_text; $data['pay_type'] = $data->pay_type_text;
$data['bank_account_info'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id',$data['bank_account_id'])->findOrEmpty(); $data['bank_account_info'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id', $data['bank_account_id'])->findOrEmpty();
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -101,9 +101,9 @@ class FinanceReturnedRecordLists extends BaseAdminDataLists implements ListsSear
{ {
$params = $this->request->get(['custom_id']); $params = $this->request->get(['custom_id']);
$where = []; $where = [];
if(isset($params['custom_id']) && $params['custom_id'] != ''){ if (isset($params['custom_id']) && $params['custom_id'] != '') {
$project_ids = Project::where('custom_id',$params['custom_id'])->column('id'); $project_ids = Project::where('custom_id', $params['custom_id'])->column('id');
$where[] = ['project_id','in',$project_ids]; $where[] = ['project_id', 'in', $project_ids];
} }
return FinanceReturnedRecord::where($this->searchWhere)->where($where)->count(); return FinanceReturnedRecord::where($this->searchWhere)->where($where)->count();
} }
@ -137,4 +137,4 @@ class FinanceReturnedRecordLists extends BaseAdminDataLists implements ListsSear
} }
} }

View File

@ -12,22 +12,22 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\material; namespace app\adminapi\lists\material;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\material\MaterialPurchaseRequest; use app\common\lists\ListsSearchInterface;
use app\common\lists\ListsSearchInterface; use app\common\model\material\MaterialPurchaseRequest;
use app\common\model\project\Project; use app\common\model\project\Project;
/** /**
* 材料采购申请列表 * 材料采购申请列表
* Class MaterialPurchaseRequestLists * Class MaterialPurchaseRequestLists
* @package app\adminapi\listsmaterial * @package app\adminapi\listsmaterial
*/ */
class MaterialPurchaseRequestLists extends BaseAdminDataLists implements ListsSearchInterface class MaterialPurchaseRequestLists extends BaseAdminDataLists implements ListsSearchInterface
{ {
/** /**
@ -60,10 +60,11 @@ class MaterialPurchaseRequestLists extends BaseAdminDataLists implements ListsSe
->field('id,project_id,material_purchase_request_code,apply_date,arrival_date,remark') ->field('id,project_id,material_purchase_request_code,apply_date,arrival_date,remark')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -81,4 +82,4 @@ class MaterialPurchaseRequestLists extends BaseAdminDataLists implements ListsSe
return MaterialPurchaseRequest::where($this->searchWhere)->count(); return MaterialPurchaseRequest::where($this->searchWhere)->count();
} }
} }

View File

@ -12,23 +12,23 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\project; namespace app\adminapi\lists\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\project\Project; use app\common\lists\ListsSearchInterface;
use app\common\model\project\ProjectCostAdjustment; use app\common\model\project\Project;
use app\common\lists\ListsSearchInterface; use app\common\model\project\ProjectCostAdjustment;
/** /**
* 成本调整列表 * 成本调整列表
* Class ProjectCostAdjustmentLists * Class ProjectCostAdjustmentLists
* @package app\adminapi\listsproject * @package app\adminapi\listsproject
*/ */
class ProjectCostAdjustmentLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class ProjectCostAdjustmentLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -60,10 +60,11 @@ class ProjectCostAdjustmentLists extends BaseAdminDataLists implements ListsSear
->field(['id', 'project_id', 'adjust_date', 'adjust_amount', 'remark', 'annex']) ->field(['id', 'project_id', 'adjust_date', 'adjust_amount', 'remark', 'annex'])
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -104,4 +105,4 @@ class ProjectCostAdjustmentLists extends BaseAdminDataLists implements ListsSear
]; ];
} }
} }

View File

@ -12,24 +12,24 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\project; namespace app\adminapi\lists\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\project\Project; use app\common\lists\ListsSearchInterface;
use app\common\model\project\ProjectCostBudget; use app\common\model\project\Project;
use app\common\lists\ListsSearchInterface; use app\common\model\project\ProjectCostBudget;
use app\common\model\project\ProjectCostBudgetDetail; use app\common\model\project\ProjectCostBudgetDetail;
/** /**
* 费用预算列表 * 费用预算列表
* Class ProjectCostBudgetLists * Class ProjectCostBudgetLists
* @package app\adminapi\listsproject * @package app\adminapi\listsproject
*/ */
class ProjectCostBudgetLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class ProjectCostBudgetLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -62,12 +62,13 @@ class ProjectCostBudgetLists extends BaseAdminDataLists implements ListsSearchIn
->field('id,org_id,dept_id,project_id,cost_budget_code,remark,annex') ->field('id,org_id,dept_id,project_id,cost_budget_code,remark,annex')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
//预算总金额 //预算总金额
$data['total_amount'] = ProjectCostBudgetDetail::where('cost_budget_id',$data['id'])->sum('amount'); $data['total_amount'] = ProjectCostBudgetDetail::where('cost_budget_id', $data['id'])->sum('amount');
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -107,4 +108,4 @@ class ProjectCostBudgetLists extends BaseAdminDataLists implements ListsSearchIn
]; ];
} }
} }

View File

@ -12,24 +12,24 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\project; namespace app\adminapi\lists\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\project\Project; use app\common\lists\ListsSearchInterface;
use app\common\model\project\ProjectEquipmentBudget; use app\common\model\project\Project;
use app\common\lists\ListsSearchInterface; use app\common\model\project\ProjectEquipmentBudget;
use app\common\model\project\ProjectEquipmentBudgetDetail; use app\common\model\project\ProjectEquipmentBudgetDetail;
/** /**
* 机具预算列表 * 机具预算列表
* Class ProjectEquipmentBudgetLists * Class ProjectEquipmentBudgetLists
* @package app\adminapi\listsproject * @package app\adminapi\listsproject
*/ */
class ProjectEquipmentBudgetLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class ProjectEquipmentBudgetLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -62,14 +62,15 @@ class ProjectEquipmentBudgetLists extends BaseAdminDataLists implements ListsSea
->field(['id', 'project_id', 'equipment_budget_code', 'remark', 'annex']) ->field(['id', 'project_id', 'equipment_budget_code', 'remark', 'annex'])
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
//预算总量 //预算总量
$data['total_num'] = ProjectEquipmentBudgetDetail::where('equipment_budget_id',$data['id'])->sum('num'); $data['total_num'] = ProjectEquipmentBudgetDetail::where('equipment_budget_id', $data['id'])->sum('num');
//预算总金额 //预算总金额
$data['total_amount'] = ProjectEquipmentBudgetDetail::where('equipment_budget_id',$data['id'])->sum('amount'); $data['total_amount'] = ProjectEquipmentBudgetDetail::where('equipment_budget_id', $data['id'])->sum('amount');
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -109,4 +110,4 @@ class ProjectEquipmentBudgetLists extends BaseAdminDataLists implements ListsSea
]; ];
} }
} }

View File

@ -12,25 +12,25 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\project; namespace app\adminapi\lists\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\project\Project; use app\common\lists\ListsSearchInterface;
use app\common\model\project\ProjectExpenseReimbursement; use app\common\model\project\Project;
use app\common\lists\ListsSearchInterface; use app\common\model\project\ProjectExpenseReimbursement;
use app\common\model\project\ProjectExpenseReimbursementDetail; use app\common\model\project\ProjectExpenseReimbursementDetail;
use app\common\model\project\ProjectLoanApply; use app\common\model\project\ProjectLoanApply;
/** /**
* 费用报销列表 * 费用报销列表
* Class ProjectExpenseReimbursementLists * Class ProjectExpenseReimbursementLists
* @package app\adminapi\listsproject * @package app\adminapi\listsproject
*/ */
class ProjectExpenseReimbursementLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class ProjectExpenseReimbursementLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -63,17 +63,18 @@ class ProjectExpenseReimbursementLists extends BaseAdminDataLists implements Lis
->field('id,expense_reimbursement_code,project_id,apply_user,apply_date,reimbursement_type,loan_apply_id,offset_loan_amount,remark') ->field('id,expense_reimbursement_code,project_id,apply_user,apply_date,reimbursement_type,loan_apply_id,offset_loan_amount,remark')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$loan_apply = ProjectLoanApply::field('loan_apply_code,loan_amount')->where('id',$data['loan_apply_id'])->findOrEmpty(); $loan_apply = ProjectLoanApply::field('loan_apply_code,loan_amount')->where('id', $data['loan_apply_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['loan_apply_code'] = !$loan_apply->isEmpty() ? $loan_apply['loan_apply_code'] : '---'; $data['loan_apply_code'] = !$loan_apply->isEmpty() ? $loan_apply['loan_apply_code'] : '---';
$data['loan_amount'] = !$loan_apply->isEmpty() ? $loan_apply['loan_amount'] : '---'; $data['loan_amount'] = !$loan_apply->isEmpty() ? $loan_apply['loan_amount'] : '---';
$data['total_amount'] = ProjectExpenseReimbursementDetail::where('expense_reimbursement_id',$data['id'])->sum('amount'); $data['total_amount'] = ProjectExpenseReimbursementDetail::where('expense_reimbursement_id', $data['id'])->sum('amount');
$data['pay_amount'] = $data['total_amount'] - $data['offset_loan_amount']; $data['pay_amount'] = $data['total_amount'] - $data['offset_loan_amount'];
$data['reimbursement_type'] = $data->reimbursement_type_text; $data['reimbursement_type'] = $data->reimbursement_type_text;
unset($data['project_id'],$data['loan_apply_id']); $data['approve_check_status_text'] = $data->approve_check_status_text;
unset($data['project_id'], $data['loan_apply_id']);
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -120,4 +121,4 @@ class ProjectExpenseReimbursementLists extends BaseAdminDataLists implements Lis
]; ];
} }
} }

View File

@ -12,24 +12,24 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\project; namespace app\adminapi\lists\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\project\Project; use app\common\lists\ListsSearchInterface;
use app\common\model\project\ProjectLaborBudget; use app\common\model\project\Project;
use app\common\lists\ListsSearchInterface; use app\common\model\project\ProjectLaborBudget;
use app\common\model\project\ProjectLaborBudgetDetail; use app\common\model\project\ProjectLaborBudgetDetail;
/** /**
* 人工预算列表 * 人工预算列表
* Class ProjectLaborBudgetLists * Class ProjectLaborBudgetLists
* @package app\adminapi\listsproject * @package app\adminapi\listsproject
*/ */
class ProjectLaborBudgetLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class ProjectLaborBudgetLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -62,14 +62,15 @@ class ProjectLaborBudgetLists extends BaseAdminDataLists implements ListsSearchI
->field(['id', 'project_id', 'labor_budget_code', 'remark', 'annex']) ->field(['id', 'project_id', 'labor_budget_code', 'remark', 'annex'])
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
//预算总工作量 //预算总工作量
$data['total_num'] = ProjectLaborBudgetDetail::where('labor_budget_id',$data['id'])->sum('num'); $data['total_num'] = ProjectLaborBudgetDetail::where('labor_budget_id', $data['id'])->sum('num');
//预算总金额 //预算总金额
$data['total_amount'] = ProjectLaborBudgetDetail::where('labor_budget_id',$data['id'])->sum('amount'); $data['total_amount'] = ProjectLaborBudgetDetail::where('labor_budget_id', $data['id'])->sum('amount');
$data['approve_check_status_text'] = $data->approve_check_status_text;
}) })
->toArray(); ->toArray();
} }
@ -110,4 +111,4 @@ class ProjectLaborBudgetLists extends BaseAdminDataLists implements ListsSearchI
]; ];
} }
} }

View File

@ -12,25 +12,25 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\project; namespace app\adminapi\lists\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\project\Project; use app\common\lists\ListsSearchInterface;
use app\common\model\project\ProjectExpenseReimbursement; use app\common\model\project\Project;
use app\common\model\project\ProjectLoanApply; use app\common\model\project\ProjectExpenseReimbursement;
use app\common\lists\ListsSearchInterface; use app\common\model\project\ProjectLoanApply;
use app\common\model\project\ProjectTravelReimbursement; use app\common\model\project\ProjectTravelReimbursement;
/** /**
* 借款申请列表 * 借款申请列表
* Class ProjectLoanApplyLists * Class ProjectLoanApplyLists
* @package app\adminapi\listsproject * @package app\adminapi\listsproject
*/ */
class ProjectLoanApplyLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class ProjectLoanApplyLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -63,16 +63,17 @@ class ProjectLoanApplyLists extends BaseAdminDataLists implements ListsSearchInt
->field(['id', 'loan_apply_code', 'project_id', 'apply_user', 'loan_date', 'loan_amount', 'payee_name', 'payee_bank', 'payee_account', 'remark']) ->field(['id', 'loan_apply_code', 'project_id', 'apply_user', 'loan_date', 'loan_amount', 'payee_name', 'payee_bank', 'payee_account', 'remark'])
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
//差旅报销抵扣 //差旅报销抵扣
$trip_deduction = ProjectTravelReimbursement::where('loan_apply_id',$data['id'])->sum('offset_loan_amount'); $trip_deduction = ProjectTravelReimbursement::where('loan_apply_id', $data['id'])->sum('offset_loan_amount');
//费用报销抵扣 //费用报销抵扣
$expense_deduction = ProjectExpenseReimbursement::where('loan_apply_id',$data['id'])->sum('offset_loan_amount'); $expense_deduction = ProjectExpenseReimbursement::where('loan_apply_id', $data['id'])->sum('offset_loan_amount');
$data['has_return_amount'] = $trip_deduction + $expense_deduction; $data['has_return_amount'] = $trip_deduction + $expense_deduction;
$data['not_return_amount'] = $data['loan_amount'] - $data['has_return_amount']; $data['not_return_amount'] = $data['loan_amount'] - $data['has_return_amount'];
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -117,4 +118,4 @@ class ProjectLoanApplyLists extends BaseAdminDataLists implements ListsSearchInt
]; ];
} }
} }

View File

@ -12,25 +12,25 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\project; namespace app\adminapi\lists\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\material\MaterialPurchaseRequestDetail; use app\common\lists\ListsSearchInterface;
use app\common\model\project\Project; use app\common\model\material\MaterialPurchaseRequestDetail;
use app\common\model\project\ProjectMaterialBudget; use app\common\model\project\Project;
use app\common\lists\ListsSearchInterface; use app\common\model\project\ProjectMaterialBudget;
use app\common\model\project\ProjectMaterialBudgetDetail; use app\common\model\project\ProjectMaterialBudgetDetail;
/** /**
* 材料预算列表 * 材料预算列表
* Class ProjectMaterialBudgetLists * Class ProjectMaterialBudgetLists
* @package app\adminapi\listsproject * @package app\adminapi\listsproject
*/ */
class ProjectMaterialBudgetLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class ProjectMaterialBudgetLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -63,19 +63,20 @@ class ProjectMaterialBudgetLists extends BaseAdminDataLists implements ListsSear
->field('id,project_id,material_budget_code,remark,annex') ->field('id,project_id,material_budget_code,remark,annex')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
//预算总数量 //预算总数量
$data['total_num'] = ProjectMaterialBudgetDetail::where('material_budget_id',$data['id'])->sum('num'); $data['total_num'] = ProjectMaterialBudgetDetail::where('material_budget_id', $data['id'])->sum('num');
//预算总金额 //预算总金额
$data['total_amount'] = ProjectMaterialBudgetDetail::where('material_budget_id',$data['id'])->sum('amount'); $data['total_amount'] = ProjectMaterialBudgetDetail::where('material_budget_id', $data['id'])->sum('amount');
//申购总数量 //申购总数量
$ProjectMaterialBudgetDetailIds = ProjectMaterialBudgetDetail::where('material_budget_id',$data['id'])->column('id'); $ProjectMaterialBudgetDetailIds = ProjectMaterialBudgetDetail::where('material_budget_id', $data['id'])->column('id');
$data['total_apply_num'] = MaterialPurchaseRequestDetail::where('project_material_budget_detail_id','in',$ProjectMaterialBudgetDetailIds)->sum('num'); $data['total_apply_num'] = MaterialPurchaseRequestDetail::where('project_material_budget_detail_id', 'in', $ProjectMaterialBudgetDetailIds)->sum('num');
//剩余预算总数量 //剩余预算总数量
$data['total_residual_num'] = $data['total_num'] - $data['total_apply_num']; $data['total_residual_num'] = $data['total_num'] - $data['total_apply_num'];
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -119,4 +120,4 @@ class ProjectMaterialBudgetLists extends BaseAdminDataLists implements ListsSear
]; ];
} }
} }

View File

@ -12,26 +12,26 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\project; namespace app\adminapi\lists\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\auth\Admin; use app\common\lists\ListsSearchInterface;
use app\common\model\contract\Contract; use app\common\model\auth\Admin;
use app\common\model\contract\ContractNegotiation; use app\common\model\contract\Contract;
use app\common\model\project\Project; use app\common\model\contract\ContractNegotiation;
use app\common\model\project\ProjectSettlement; use app\common\model\project\Project;
use app\common\lists\ListsSearchInterface; use app\common\model\project\ProjectSettlement;
/** /**
* 甲方结算列表 * 甲方结算列表
* Class ProjectSettlementLists * Class ProjectSettlementLists
* @package app\adminapi\listsproject * @package app\adminapi\listsproject
*/ */
class ProjectSettlementLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class ProjectSettlementLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -61,24 +61,25 @@ class ProjectSettlementLists extends BaseAdminDataLists implements ListsSearchIn
public function lists(): array public function lists(): array
{ {
return ProjectSettlement::where($this->searchWhere) return ProjectSettlement::where($this->searchWhere)
->field(['id','settlement_code','project_id','contract_id','settlement_amount','settlement_date','add_user']) ->field(['id', 'settlement_code', 'project_id', 'contract_id', 'settlement_amount', 'settlement_date', 'add_user'])
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($item){ ->select()->each(function ($item) {
$project = Project::field('name')->where('id',$item['project_id'])->findOrEmpty(); $project = Project::field('name')->where('id', $item['project_id'])->findOrEmpty();
$contract = Contract::field('contract_name,contract_code,amount')->where('id',$item['contract_id'])->findOrEmpty(); $contract = Contract::field('contract_name,contract_code,amount')->where('id', $item['contract_id'])->findOrEmpty();
$admin = Admin::field('name')->where('id',$item['add_user'])->findOrEmpty(); $admin = Admin::field('name')->where('id', $item['add_user'])->findOrEmpty();
$item['project_name'] = $project['name']; $item['project_name'] = $project['name'];
$item['contract_name'] = $contract['contract_name']; $item['contract_name'] = $contract['contract_name'];
$item['contract_code'] = $contract['contract_code']; $item['contract_code'] = $contract['contract_code'];
//合同金额 //合同金额
$item['contract_amount'] = $contract['amount']; $item['contract_amount'] = $contract['amount'];
//洽商金额 //洽商金额
$item['negotiation_amount'] = ContractNegotiation::where('contract_id',$item['contract_id'])->sum('negotiation_amount'); $item['negotiation_amount'] = ContractNegotiation::where('contract_id', $item['contract_id'])->sum('negotiation_amount');
//结算差异 //结算差异
$item['settlement_difference'] = bcsub(($item['contract_amount']+$item['negotiation_amount']),$item['settlement_amount']); $item['settlement_difference'] = bcsub(($item['contract_amount'] + $item['negotiation_amount']), $item['settlement_amount']);
$item['add_user_name'] = $admin['name']; $item['add_user_name'] = $admin['name'];
unset($item['project_id'],$item['contract_id'],$item['add_user']); $item['approve_check_status_text'] = $item->approve_check_status_text;
unset($item['project_id'], $item['contract_id'], $item['add_user']);
return $item; return $item;
}) })
->toArray(); ->toArray();
@ -124,4 +125,4 @@ class ProjectSettlementLists extends BaseAdminDataLists implements ListsSearchIn
]; ];
} }
} }

View File

@ -12,28 +12,28 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\project; namespace app\adminapi\lists\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\auth\Admin; use app\common\lists\ListsSearchInterface;
use app\common\model\contract\ContractNegotiation; use app\common\model\auth\Admin;
use app\common\model\contract\SubcontractingContract; use app\common\model\contract\ContractNegotiation;
use app\common\model\contract\SubcontractingContractDetail; use app\common\model\contract\SubcontractingContract;
use app\common\model\project\Project; use app\common\model\contract\SubcontractingContractDetail;
use app\common\model\project\ProjectSubcontractSettlement; use app\common\model\project\Project;
use app\common\lists\ListsSearchInterface; use app\common\model\project\ProjectSubcontractSettlement;
use app\common\model\supplier\Supplier; use app\common\model\supplier\Supplier;
/** /**
* 分包结算列表 * 分包结算列表
* Class ProjectSubcontractSettlementLists * Class ProjectSubcontractSettlementLists
* @package app\adminapi\listsproject * @package app\adminapi\listsproject
*/ */
class ProjectSubcontractSettlementLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class ProjectSubcontractSettlementLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -66,22 +66,23 @@ class ProjectSubcontractSettlementLists extends BaseAdminDataLists implements Li
->field(['id', 'settlement_code', 'project_id', 'contract_id', 'settlement_amount', 'settlement_date', 'remark', 'add_user']) ->field(['id', 'settlement_code', 'project_id', 'contract_id', 'settlement_amount', 'settlement_date', 'remark', 'add_user'])
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($item){ ->select()->each(function ($item) {
$project = Project::field('name')->where('id',$item['project_id'])->findOrEmpty(); $project = Project::field('name')->where('id', $item['project_id'])->findOrEmpty();
$contract = SubcontractingContract::field('supplier_id,contract_no')->where('id',$item['contract_id'])->findOrEmpty(); $contract = SubcontractingContract::field('supplier_id,contract_no')->where('id', $item['contract_id'])->findOrEmpty();
$supplier = Supplier::field('supplier_code,supplier_name')->where('id',$contract['supplier_id'])->findOrEmpty(); $supplier = Supplier::field('supplier_code,supplier_name')->where('id', $contract['supplier_id'])->findOrEmpty();
$admin = Admin::field('name')->where('id',$item['add_user'])->findOrEmpty(); $admin = Admin::field('name')->where('id', $item['add_user'])->findOrEmpty();
$item['supplier_name'] = $supplier['supplier_name']; $item['supplier_name'] = $supplier['supplier_name'];
$item['project_name'] = $project['name']; $item['project_name'] = $project['name'];
$item['contract_code'] = $contract['contract_no']; $item['contract_code'] = $contract['contract_no'];
//合同金额 //合同金额
$item['contract_amount'] = SubcontractingContractDetail::where('contract_id',$item['contract_id'])->sum('amount_including_tax'); $item['contract_amount'] = SubcontractingContractDetail::where('contract_id', $item['contract_id'])->sum('amount_including_tax');
//洽商金额 //洽商金额
$item['negotiation_amount'] = ContractNegotiation::where('contract_id',$item['contract_id'])->sum('negotiation_amount'); $item['negotiation_amount'] = ContractNegotiation::where('contract_id', $item['contract_id'])->sum('negotiation_amount');
//结算差异 //结算差异
$item['settlement_difference'] = bcsub(($item['contract_amount']+$item['negotiation_amount']),$item['settlement_amount']); $item['settlement_difference'] = bcsub(($item['contract_amount'] + $item['negotiation_amount']), $item['settlement_amount']);
$item['add_user_name'] = $admin['name']; $item['add_user_name'] = $admin['name'];
unset($item['project_id'],$item['contract_id'],$item['add_user']); $item['approve_check_status_text'] = $item->approve_check_status_text;
unset($item['project_id'], $item['contract_id'], $item['add_user']);
return $item; return $item;
}) })
->toArray(); ->toArray();
@ -127,4 +128,4 @@ class ProjectSubcontractSettlementLists extends BaseAdminDataLists implements Li
]; ];
} }
} }

View File

@ -12,25 +12,25 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\project; namespace app\adminapi\lists\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\contract\SubcontractingContractDetail; use app\common\lists\ListsSearchInterface;
use app\common\model\project\Project; use app\common\model\contract\SubcontractingContractDetail;
use app\common\model\project\ProjectSubpackageBudget; use app\common\model\project\Project;
use app\common\lists\ListsSearchInterface; use app\common\model\project\ProjectSubpackageBudget;
use app\common\model\project\ProjectSubpackageBudgetDetail; use app\common\model\project\ProjectSubpackageBudgetDetail;
/** /**
* 分包预算列表 * 分包预算列表
* Class ProjectSubpackageBudgetLists * Class ProjectSubpackageBudgetLists
* @package app\adminapi\listsproject * @package app\adminapi\listsproject
*/ */
class ProjectSubpackageBudgetLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class ProjectSubpackageBudgetLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -62,19 +62,20 @@ class ProjectSubpackageBudgetLists extends BaseAdminDataLists implements ListsSe
->field('id,project_id,subpackage_budget_code,remark,annex') ->field('id,project_id,subpackage_budget_code,remark,annex')
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
//预算总工作量 //预算总工作量
$data['total_num'] = ProjectSubpackageBudgetDetail::where('subpackage_budget_id',$data['id'])->sum('num'); $data['total_num'] = ProjectSubpackageBudgetDetail::where('subpackage_budget_id', $data['id'])->sum('num');
//预算总金额 //预算总金额
$data['total_amount'] = ProjectSubpackageBudgetDetail::where('subpackage_budget_id',$data['id'])->sum('amount'); $data['total_amount'] = ProjectSubpackageBudgetDetail::where('subpackage_budget_id', $data['id'])->sum('amount');
//已分包工作量 //已分包工作量
$project_subpackage_budget_detail_ids = ProjectSubpackageBudgetDetail::where('subpackage_budget_id',$data['id'])->column('id'); $project_subpackage_budget_detail_ids = ProjectSubpackageBudgetDetail::where('subpackage_budget_id', $data['id'])->column('id');
$data['has_subcontract_num'] = SubcontractingContractDetail::where('subpackage_budget_detail_id','in',$project_subpackage_budget_detail_ids)->sum('num'); $data['has_subcontract_num'] = SubcontractingContractDetail::where('subpackage_budget_detail_id', 'in', $project_subpackage_budget_detail_ids)->sum('num');
//剩余工作量 //剩余工作量
$data['residue_num'] = $data['total_num'] - $data['has_subcontract_num']; $data['residue_num'] = $data['total_num'] - $data['has_subcontract_num'];
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -116,4 +117,4 @@ class ProjectSubpackageBudgetLists extends BaseAdminDataLists implements ListsSe
]; ];
} }
} }

View File

@ -72,6 +72,7 @@
$data['profit'] = $data['contract_amount'] - $data['total_cost']; $data['profit'] = $data['contract_amount'] - $data['total_cost'];
//利润率 //利润率
$data['profit_rate'] = !empty((float)$data['contract_amount']) ? ($data['profit'] / $data['contract_amount']) : 0; $data['profit_rate'] = !empty((float)$data['contract_amount']) ? ($data['profit'] / $data['contract_amount']) : 0;
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();

View File

@ -12,28 +12,28 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\project; namespace app\adminapi\lists\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\auth\Admin; use app\common\lists\ListsSearchInterface;
use app\common\model\project\Project; use app\common\model\auth\Admin;
use app\common\model\project\ProjectLoanApply; use app\common\model\project\Project;
use app\common\model\project\ProjectManagerAppointment; use app\common\model\project\ProjectLoanApply;
use app\common\model\project\ProjectTravelReimbursement; use app\common\model\project\ProjectManagerAppointment;
use app\common\lists\ListsSearchInterface; use app\common\model\project\ProjectTravelReimbursement;
use app\common\model\project\ProjectTravelReimbursementDetail; use app\common\model\project\ProjectTravelReimbursementDetail;
use app\common\model\project\ProjectTripApply; use app\common\model\project\ProjectTripApply;
/** /**
* 差旅报销列表 * 差旅报销列表
* Class ProjectTravelReimbursementLists * Class ProjectTravelReimbursementLists
* @package app\adminapi\listsproject * @package app\adminapi\listsproject
*/ */
class ProjectTravelReimbursementLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class ProjectTravelReimbursementLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -46,7 +46,7 @@ class ProjectTravelReimbursementLists extends BaseAdminDataLists implements List
{ {
return [ return [
'=' => ['trip_apply_id', 'project_id', 'reimbursement_type'], '=' => ['trip_apply_id', 'project_id', 'reimbursement_type'],
'%like%' => ['trip_reimbursement_code','apply_user'], '%like%' => ['trip_reimbursement_code', 'apply_user'],
]; ];
} }
@ -67,26 +67,27 @@ class ProjectTravelReimbursementLists extends BaseAdminDataLists implements List
->field($field) ->field($field)
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$trip_apply = ProjectTripApply::field('trip_apply_code')->where('id',$data['trip_apply_id'])->findOrEmpty(); $trip_apply = ProjectTripApply::field('trip_apply_code')->where('id', $data['trip_apply_id'])->findOrEmpty();
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$manager = ProjectManagerAppointment::field('project_manager')->where('project_id',$data['project_id'])->findOrEmpty(); $manager = ProjectManagerAppointment::field('project_manager')->where('project_id', $data['project_id'])->findOrEmpty();
$loan_apply = ProjectLoanApply::field('loan_apply_code,loan_amount')->where('id',$data['loan_apply_id'])->findOrEmpty(); $loan_apply = ProjectLoanApply::field('loan_apply_code,loan_amount')->where('id', $data['loan_apply_id'])->findOrEmpty();
$data['trip_apply_code'] = $trip_apply['trip_apply_code']; $data['trip_apply_code'] = $trip_apply['trip_apply_code'];
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
if($manager->isEmpty()){ if ($manager->isEmpty()) {
$data['project_manager'] = ''; $data['project_manager'] = '';
}else{ } else {
$admin = Admin::field('name')->where('id',$manager['project_manager'])->findOrEmpty(); $admin = Admin::field('name')->where('id', $manager['project_manager'])->findOrEmpty();
$data['project_manager'] = $admin['name']; $data['project_manager'] = $admin['name'];
} }
$data['loan_apply_code'] = !$loan_apply->isEmpty() ? $loan_apply['loan_apply_code'] : '---'; $data['loan_apply_code'] = !$loan_apply->isEmpty() ? $loan_apply['loan_apply_code'] : '---';
$data['loan_amount'] = !$loan_apply->isEmpty() ? $loan_apply['loan_amount'] : '---'; $data['loan_amount'] = !$loan_apply->isEmpty() ? $loan_apply['loan_amount'] : '---';
$data['reimbursement_type'] = $data->reimbursement_type_text; $data['reimbursement_type'] = $data->reimbursement_type_text;
unset($data['trip_apply_id'],$data['loan_apply_id']); unset($data['trip_apply_id'], $data['loan_apply_id']);
$data['total_amount'] = ProjectTravelReimbursementDetail::where('travel_reimbursement_id',$data['id'])->sum('total_amount'); $data['total_amount'] = ProjectTravelReimbursementDetail::where('travel_reimbursement_id', $data['id'])->sum('total_amount');
$data['pay_amount'] = $data['total_amount'] - $data['offset_loan_amount']; $data['pay_amount'] = $data['total_amount'] - $data['offset_loan_amount'];
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -133,4 +134,4 @@ class ProjectTravelReimbursementLists extends BaseAdminDataLists implements List
]; ];
} }
} }

View File

@ -12,25 +12,25 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\project; namespace app\adminapi\lists\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\auth\Admin; use app\common\lists\ListsSearchInterface;
use app\common\model\project\Project; use app\common\model\auth\Admin;
use app\common\model\project\ProjectManagerAppointment; use app\common\model\project\Project;
use app\common\model\project\ProjectTripApply; use app\common\model\project\ProjectManagerAppointment;
use app\common\lists\ListsSearchInterface; use app\common\model\project\ProjectTripApply;
/** /**
* 出差申请列表 * 出差申请列表
* Class ProjectTripApplyLists * Class ProjectTripApplyLists
* @package app\adminapi\listsproject * @package app\adminapi\listsproject
*/ */
class ProjectTripApplyLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class ProjectTripApplyLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
@ -63,18 +63,19 @@ class ProjectTripApplyLists extends BaseAdminDataLists implements ListsSearchInt
->field(['id', 'project_id', 'trip_apply_code', 'origin_address', 'target_address', 'traffic', 'start_date', 'end_date', 'reason', 'days', 'remark']) ->field(['id', 'project_id', 'trip_apply_code', 'origin_address', 'target_address', 'traffic', 'start_date', 'end_date', 'reason', 'days', 'remark'])
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select()->each(function($data){ ->select()->each(function ($data) {
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$manager = ProjectManagerAppointment::field('project_manager')->where('project_id',$data['project_id'])->findOrEmpty(); $manager = ProjectManagerAppointment::field('project_manager')->where('project_id', $data['project_id'])->findOrEmpty();
$data['traffic_text'] = $data->traffic_text; $data['traffic_text'] = $data->traffic_text;
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
if($manager->isEmpty()){ if ($manager->isEmpty()) {
$data['project_manager'] = ''; $data['project_manager'] = '';
}else{ } else {
$admin = Admin::field('name')->where('id',$manager['project_manager'])->findOrEmpty(); $admin = Admin::field('name')->where('id', $manager['project_manager'])->findOrEmpty();
$data['project_manager'] = $admin['name']; $data['project_manager'] = $admin['name'];
} }
$data['approve_check_status_text'] = $data->approve_check_status_text;
return $data; return $data;
}) })
->toArray(); ->toArray();
@ -120,4 +121,4 @@ class ProjectTripApplyLists extends BaseAdminDataLists implements ListsSearchInt
]; ];
} }
} }

View File

@ -160,7 +160,7 @@
{ {
$data = BidBiddingDecision::where('id', $params['id'])->findOrEmpty(); $data = BidBiddingDecision::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -12,27 +12,27 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\bid; namespace app\adminapi\logic\bid;
use app\common\model\auth\Admin; use app\common\logic\BaseLogic;
use app\common\model\bid\BidBiddingDecision; use app\common\model\auth\Admin;
use app\common\model\bid\BidBuyBiddingDocument; use app\common\model\bid\BidBiddingDecision;
use app\common\model\bid\BidDocumentExamination; use app\common\model\bid\BidBuyBiddingDocument;
use app\common\model\custom\Custom; use app\common\model\bid\BidDocumentExamination;
use app\common\logic\BaseLogic; use app\common\model\custom\Custom;
use app\common\model\oa\FlowApprove; use app\common\model\oa\FlowApprove;
use app\common\model\project\Project; use app\common\model\project\Project;
use think\facade\Db; use think\facade\Db;
/** /**
* 购买标书逻辑 * 购买标书逻辑
* Class BidBuyBiddingDocumentLogic * Class BidBuyBiddingDocumentLogic
* @package app\adminapi\logic\bid * @package app\adminapi\logic\bid
*/ */
class BidBuyBiddingDocumentLogic extends BaseLogic class BidBuyBiddingDocumentLogic extends BaseLogic
{ {
/** /**
@ -106,8 +106,8 @@ class BidBuyBiddingDocumentLogic extends BaseLogic
*/ */
public static function delete(array $params): bool public static function delete(array $params): bool
{ {
$data = BidDocumentExamination::where('buy_bidding_document_id',$params['id'])->findOrEmpty(); $data = BidDocumentExamination::where('buy_bidding_document_id', $params['id'])->findOrEmpty();
if(!$data->isEmpty()){ if (!$data->isEmpty()) {
self::setError('此数据关联了标书审查信息,需删除标书审查信息'); self::setError('此数据关联了标书审查信息,需删除标书审查信息');
return false; return false;
} }
@ -125,10 +125,10 @@ class BidBuyBiddingDocumentLogic extends BaseLogic
public static function detail($params): array public static function detail($params): array
{ {
$data = BidBuyBiddingDocument::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']); $data = BidBuyBiddingDocument::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']);
$project = Project::field('custom_id,name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$bid_decision = BidBiddingDecision::field('code,bidding_project_fund_source,bidding_time,bid_type,is_margin,margin_amount,bid_opening_date,margin_amount_return_date,bid_project_overview,project_desc,annex')->where('id',$data['bid_decision_id'])->findOrEmpty(); $bid_decision = BidBiddingDecision::field('code,bidding_project_fund_source,bidding_time,bid_type,is_margin,margin_amount,bid_opening_date,margin_amount_return_date,bid_project_overview,project_desc,annex')->where('id', $data['bid_decision_id'])->findOrEmpty();
$admin = Admin::field('name')->where('id',$data['buyer'])->findOrEmpty(); $admin = Admin::field('name')->where('id', $data['buyer'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['custom_name'] = $custom['name']; $data['custom_name'] = $custom['name'];
@ -143,15 +143,16 @@ class BidBuyBiddingDocumentLogic extends BaseLogic
$data['bid_project_overview'] = $bid_decision['bid_project_overview']; $data['bid_project_overview'] = $bid_decision['bid_project_overview'];
$data['project_desc'] = $bid_decision['project_desc']; $data['project_desc'] = $bid_decision['project_desc'];
$data['buyer_name'] = $admin['name']; $data['buyer_name'] = $admin['name'];
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = BidBuyBiddingDocument::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = BidBuyBiddingDocument::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -165,8 +166,8 @@ class BidBuyBiddingDocumentLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
BidBuyBiddingDocument::where('id',$params['id'])->update([ BidBuyBiddingDocument::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -178,4 +179,4 @@ class BidBuyBiddingDocumentLogic extends BaseLogic
return false; return false;
} }
} }
} }

View File

@ -12,28 +12,28 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\bid; namespace app\adminapi\logic\bid;
use app\common\model\auth\Admin; use app\common\logic\BaseLogic;
use app\common\model\bid\BidBiddingDecision; use app\common\model\auth\Admin;
use app\common\model\bid\BidBuyBiddingDocument; use app\common\model\bid\BidBiddingDecision;
use app\common\model\bid\BidDocumentExamination; use app\common\model\bid\BidBuyBiddingDocument;
use app\common\model\bid\BidDocumentExaminationDetail; use app\common\model\bid\BidDocumentExamination;
use app\common\logic\BaseLogic; use app\common\model\bid\BidDocumentExaminationDetail;
use app\common\model\bid\BidResult; use app\common\model\bid\BidResult;
use app\common\model\custom\Custom; use app\common\model\custom\Custom;
use app\common\model\oa\FlowApprove; use app\common\model\oa\FlowApprove;
use app\common\model\project\Project; use app\common\model\project\Project;
use think\facade\Db; use think\facade\Db;
/** /**
* 标书审查逻辑 * 标书审查逻辑
* Class BidDocumentExaminationLogic * Class BidDocumentExaminationLogic
* @package app\adminapi\logic\bid * @package app\adminapi\logic\bid
*/ */
class BidDocumentExaminationLogic extends BaseLogic class BidDocumentExaminationLogic extends BaseLogic
{ {
/** /**
@ -43,9 +43,9 @@ class BidDocumentExaminationLogic extends BaseLogic
* @author likeadmin * @author likeadmin
* @date 2023/12/02 09:52 * @date 2023/12/02 09:52
*/ */
public static function add(array $params,$admin_id): bool public static function add(array $params, $admin_id): bool
{ {
$buy_bidding_document = BidBuyBiddingDocument::field('project_id')->where('id',$params['buy_bidding_document_id'])->findOrEmpty(); $buy_bidding_document = BidBuyBiddingDocument::field('project_id')->where('id', $params['buy_bidding_document_id'])->findOrEmpty();
Db::startTrans(); Db::startTrans();
try { try {
$bidDocumentExamination = BidDocumentExamination::create([ $bidDocumentExamination = BidDocumentExamination::create([
@ -62,9 +62,8 @@ class BidDocumentExaminationLogic extends BaseLogic
'business_contract_deviation_handling_plan' => $params['business_contract_deviation_handling_plan'] ?? '', 'business_contract_deviation_handling_plan' => $params['business_contract_deviation_handling_plan'] ?? '',
'business_contract_deviation_annex' => $params['business_contract_deviation_annex'] ? json_encode($params['business_contract_deviation_annex']) : null, 'business_contract_deviation_annex' => $params['business_contract_deviation_annex'] ? json_encode($params['business_contract_deviation_annex']) : null,
]); ]);
if(!empty($params['quotation_detail'])){ if (!empty($params['quotation_detail'])) {
foreach ($params['quotation_detail'] as $item) foreach ($params['quotation_detail'] as $item) {
{
BidDocumentExaminationDetail::create([ BidDocumentExaminationDetail::create([
'bid_document_examination_id' => $bidDocumentExamination->id, 'bid_document_examination_id' => $bidDocumentExamination->id,
'product_id' => $item['product_id'], 'product_id' => $item['product_id'],
@ -88,12 +87,12 @@ class BidDocumentExaminationLogic extends BaseLogic
} }
} }
public static function edit(array $params,$admin_id): bool public static function edit(array $params, $admin_id): bool
{ {
$buy_bidding_document = BidBuyBiddingDocument::field('project_id')->where('id',$params['buy_bidding_document_id'])->findOrEmpty(); $buy_bidding_document = BidBuyBiddingDocument::field('project_id')->where('id', $params['buy_bidding_document_id'])->findOrEmpty();
Db::startTrans(); Db::startTrans();
try { try {
BidDocumentExamination::where('id',$params['id'])->update([ BidDocumentExamination::where('id', $params['id'])->update([
'project_id' => $buy_bidding_document['project_id'], 'project_id' => $buy_bidding_document['project_id'],
'buy_bidding_document_id' => $params['buy_bidding_document_id'], 'buy_bidding_document_id' => $params['buy_bidding_document_id'],
'technical_protocol_deviation' => $params['technical_protocol_deviation'] ?? '', 'technical_protocol_deviation' => $params['technical_protocol_deviation'] ?? '',
@ -107,11 +106,10 @@ class BidDocumentExaminationLogic extends BaseLogic
'business_contract_deviation_annex' => $params['business_contract_deviation_annex'] ? json_encode($params['business_contract_deviation_annex']) : null, 'business_contract_deviation_annex' => $params['business_contract_deviation_annex'] ? json_encode($params['business_contract_deviation_annex']) : null,
'update_time' => time(), 'update_time' => time(),
]); ]);
if(!empty($params['quotation_detail'])){ if (!empty($params['quotation_detail'])) {
foreach ($params['quotation_detail'] as $item) foreach ($params['quotation_detail'] as $item) {
{ if (!empty($item['id'])) {
if(!empty($item['id'])){ BidDocumentExaminationDetail::where('id', $item['id'])->update([
BidDocumentExaminationDetail::where('id',$item['id'])->update([
'bid_document_examination_id' => $params['id'], 'bid_document_examination_id' => $params['id'],
'product_id' => $item['product_id'], 'product_id' => $item['product_id'],
'num' => $item['num'], 'num' => $item['num'],
@ -123,7 +121,7 @@ class BidDocumentExaminationLogic extends BaseLogic
'update_user' => $admin_id, 'update_user' => $admin_id,
'update_time' => time() 'update_time' => time()
]); ]);
}else{ } else {
BidDocumentExaminationDetail::create([ BidDocumentExaminationDetail::create([
'bid_document_examination_id' => $params['id'], 'bid_document_examination_id' => $params['id'],
'product_id' => $item['product_id'], 'product_id' => $item['product_id'],
@ -150,13 +148,13 @@ class BidDocumentExaminationLogic extends BaseLogic
public static function delete(array $params): bool public static function delete(array $params): bool
{ {
$detail = BidDocumentExaminationDetail::where('bid_document_examination_id',$params['id'])->findOrEmpty(); $detail = BidDocumentExaminationDetail::where('bid_document_examination_id', $params['id'])->findOrEmpty();
if(!$detail->isEmpty()){ if (!$detail->isEmpty()) {
self::setError('此数据关联了审查明细信息,需删除审查明细信息'); self::setError('此数据关联了审查明细信息,需删除审查明细信息');
return false; return false;
} }
$result = BidResult::where('bid_document_examination_id',$params['id'])->findOrEmpty(); $result = BidResult::where('bid_document_examination_id', $params['id'])->findOrEmpty();
if(!$result->isEmpty()){ if (!$result->isEmpty()) {
self::setError('此数据关联了投标结果信息,需删除投标结果信息'); self::setError('此数据关联了投标结果信息,需删除投标结果信息');
return false; return false;
} }
@ -174,11 +172,11 @@ class BidDocumentExaminationLogic extends BaseLogic
public static function detail($params): array public static function detail($params): array
{ {
$data = BidDocumentExamination::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']); $data = BidDocumentExamination::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']);
$project = Project::field('custom_id,name')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name')->where('id', $data['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$bid_buy_doc = BidBuyBiddingDocument::field('bid_decision_id,bid_document_no,buyer,invite_tenders_company_name,bid_company_name,amount,buy_date')->where('id',$data['buy_bidding_document_id'])->findOrEmpty(); $bid_buy_doc = BidBuyBiddingDocument::field('bid_decision_id,bid_document_no,buyer,invite_tenders_company_name,bid_company_name,amount,buy_date')->where('id', $data['buy_bidding_document_id'])->findOrEmpty();
$buyer = Admin::field('name')->where('id',$bid_buy_doc['buyer'])->findOrEmpty(); $buyer = Admin::field('name')->where('id', $bid_buy_doc['buyer'])->findOrEmpty();
$bid_decision = BidBiddingDecision::field('bidding_project_fund_source,bidding_time,bid_type,is_margin,margin_amount,bid_opening_date,margin_amount_return_date,bid_project_overview,project_desc,annex')->where('id',$bid_buy_doc['bid_decision_id'])->findOrEmpty(); $bid_decision = BidBiddingDecision::field('bidding_project_fund_source,bidding_time,bid_type,is_margin,margin_amount,bid_opening_date,margin_amount_return_date,bid_project_overview,project_desc,annex')->where('id', $bid_buy_doc['bid_decision_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['custom_name'] = $custom['name']; $data['custom_name'] = $custom['name'];
$data['bid_document_no'] = $bid_buy_doc['bid_document_no']; $data['bid_document_no'] = $bid_buy_doc['bid_document_no'];
@ -196,16 +194,17 @@ class BidDocumentExaminationLogic extends BaseLogic
$data['margin_amount_return_date'] = $bid_decision['margin_amount_return_date']; $data['margin_amount_return_date'] = $bid_decision['margin_amount_return_date'];
$data['bid_project_overview'] = $bid_decision['bid_project_overview']; $data['bid_project_overview'] = $bid_decision['bid_project_overview'];
$data['project_desc'] = $bid_decision['project_desc']; $data['project_desc'] = $bid_decision['project_desc'];
$data['total_amount'] = BidDocumentExaminationDetail::where('bid_document_examination_id',$data['id'])->sum('sale_amount'); $data['total_amount'] = BidDocumentExaminationDetail::where('bid_document_examination_id', $data['id'])->sum('sale_amount');
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = BidDocumentExamination::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = BidDocumentExamination::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -219,8 +218,8 @@ class BidDocumentExaminationLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
BidDocumentExamination::where('id',$params['id'])->update([ BidDocumentExamination::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -232,4 +231,4 @@ class BidDocumentExaminationLogic extends BaseLogic
return false; return false;
} }
} }
} }

View File

@ -12,25 +12,25 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\bid; namespace app\adminapi\logic\bid;
use app\common\model\bid\BidBiddingDecision; use app\common\logic\BaseLogic;
use app\common\model\bid\BidSecurityApply; use app\common\model\bid\BidBiddingDecision;
use app\common\model\oa\FlowApprove; use app\common\model\bid\BidSecurityApply;
use app\common\model\project\Project; use app\common\model\custom\Custom;
use app\common\model\custom\Custom; use app\common\model\oa\FlowApprove;
use app\common\logic\BaseLogic; use app\common\model\project\Project;
use think\facade\Db; use think\facade\Db;
/** /**
* BidSecurityApply逻辑 * BidSecurityApply逻辑
* Class BidSecurityApplyLogic * Class BidSecurityApplyLogic
* @package app\adminapi\logic\bid * @package app\adminapi\logic\bid
*/ */
class BidSecurityApplyLogic extends BaseLogic class BidSecurityApplyLogic extends BaseLogic
{ {
/** /**
@ -42,7 +42,7 @@ class BidSecurityApplyLogic extends BaseLogic
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
$bidding_decision = BidBiddingDecision::field('project_id')->where('id',$params['bidding_decision_id'])->findOrEmpty(); $bidding_decision = BidBiddingDecision::field('project_id')->where('id', $params['bidding_decision_id'])->findOrEmpty();
Db::startTrans(); Db::startTrans();
try { try {
BidSecurityApply::create([ BidSecurityApply::create([
@ -53,7 +53,7 @@ class BidSecurityApplyLogic extends BaseLogic
'pay_type' => $params['pay_type'], 'pay_type' => $params['pay_type'],
'refund_date' => !empty($params['refund_date']) ? strtotime($params['refund_date']) : 0, 'refund_date' => !empty($params['refund_date']) ? strtotime($params['refund_date']) : 0,
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'deposit_bank' => $params['deposit_bank'], 'deposit_bank' => $params['deposit_bank'],
'account_name' => $params['account_name'], 'account_name' => $params['account_name'],
'account' => $params['account'], 'account' => $params['account'],
@ -77,7 +77,7 @@ class BidSecurityApplyLogic extends BaseLogic
*/ */
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
$bidding_decision = BidBiddingDecision::field('project_id')->where('id',$params['bidding_decision_id'])->findOrEmpty(); $bidding_decision = BidBiddingDecision::field('project_id')->where('id', $params['bidding_decision_id'])->findOrEmpty();
Db::startTrans(); Db::startTrans();
try { try {
BidSecurityApply::where('id', $params['id'])->update([ BidSecurityApply::where('id', $params['id'])->update([
@ -88,7 +88,7 @@ class BidSecurityApplyLogic extends BaseLogic
'pay_type' => $params['pay_type'], 'pay_type' => $params['pay_type'],
'refund_date' => !empty($params['refund_date']) ? strtotime($params['refund_date']) : 0, 'refund_date' => !empty($params['refund_date']) ? strtotime($params['refund_date']) : 0,
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'deposit_bank' => $params['deposit_bank'], 'deposit_bank' => $params['deposit_bank'],
'account_name' => $params['account_name'], 'account_name' => $params['account_name'],
'account' => $params['account'], 'account' => $params['account'],
@ -127,9 +127,9 @@ class BidSecurityApplyLogic extends BaseLogic
{ {
$data = BidSecurityApply::field('id,security_apply_code,project_id,bidding_decision_id,applier,pay_type,refund_date,remark,annex,deposit_bank,account_name,account,approve_id') $data = BidSecurityApply::field('id,security_apply_code,project_id,bidding_decision_id,applier,pay_type,refund_date,remark,annex,deposit_bank,account_name,account,approve_id')
->findOrEmpty($params['id']); ->findOrEmpty($params['id']);
$bidding_decision = BidBiddingDecision::field('code,margin_amount,bidding_time')->where('id',$data['bidding_decision_id'])->findOrEmpty(); $bidding_decision = BidBiddingDecision::field('code,margin_amount,bidding_time')->where('id', $data['bidding_decision_id'])->findOrEmpty();
$project = Project::field('custom_id,name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$data['bidding_decision_code'] = $bidding_decision['code']; $data['bidding_decision_code'] = $bidding_decision['code'];
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
@ -138,15 +138,16 @@ class BidSecurityApplyLogic extends BaseLogic
$data['margin_amount'] = $bidding_decision['margin_amount']; $data['margin_amount'] = $bidding_decision['margin_amount'];
$data['bidding_time'] = $bidding_decision['bidding_time']; $data['bidding_time'] = $bidding_decision['bidding_time'];
$data['payment_account_info'] = []; $data['payment_account_info'] = [];
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = BidSecurityApply::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = BidSecurityApply::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -160,8 +161,8 @@ class BidSecurityApplyLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
BidSecurityApply::where('id',$params['id'])->update([ BidSecurityApply::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }

View File

@ -12,27 +12,27 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\bid; namespace app\adminapi\logic\bid;
use app\common\model\bank\BankAccount; use app\common\logic\BaseLogic;
use app\common\model\bid\BidBiddingDecision; use app\common\model\bank\BankAccount;
use app\common\model\bid\BidSecurityApply; use app\common\model\bid\BidBiddingDecision;
use app\common\model\bid\BidSecurityRefund; use app\common\model\bid\BidSecurityApply;
use app\common\logic\BaseLogic; use app\common\model\bid\BidSecurityRefund;
use app\common\model\oa\FlowApprove; use app\common\model\custom\Custom;
use app\common\model\project\Project; use app\common\model\oa\FlowApprove;
use app\common\model\custom\Custom; use app\common\model\project\Project;
use think\facade\Db; use think\facade\Db;
/** /**
* BidSecurityRefund逻辑 * BidSecurityRefund逻辑
* Class BidSecurityRefundLogic * Class BidSecurityRefundLogic
* @package app\adminapi\logic\bid * @package app\adminapi\logic\bid
*/ */
class BidSecurityRefundLogic extends BaseLogic class BidSecurityRefundLogic extends BaseLogic
{ {
/** /**
@ -44,7 +44,7 @@ class BidSecurityRefundLogic extends BaseLogic
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
$bid_security_apply = BidSecurityApply::field('project_id')->where('id',$params['bid_security_apply_id'])->findOrEmpty(); $bid_security_apply = BidSecurityApply::field('project_id')->where('id', $params['bid_security_apply_id'])->findOrEmpty();
Db::startTrans(); Db::startTrans();
try { try {
BidSecurityRefund::create([ BidSecurityRefund::create([
@ -53,7 +53,7 @@ class BidSecurityRefundLogic extends BaseLogic
'refund_amount' => $params['refund_amount'], 'refund_amount' => $params['refund_amount'],
'refund_date' => strtotime($params['refund_date']), 'refund_date' => strtotime($params['refund_date']),
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'bank_account_id' => $params['bank_account_id'] ?? 0, 'bank_account_id' => $params['bank_account_id'] ?? 0,
]); ]);
Db::commit(); Db::commit();
@ -75,7 +75,7 @@ class BidSecurityRefundLogic extends BaseLogic
*/ */
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
$bid_security_apply = BidSecurityApply::field('project_id')->where('id',$params['bid_security_apply_id'])->findOrEmpty(); $bid_security_apply = BidSecurityApply::field('project_id')->where('id', $params['bid_security_apply_id'])->findOrEmpty();
Db::startTrans(); Db::startTrans();
try { try {
BidSecurityRefund::where('id', $params['id'])->update([ BidSecurityRefund::where('id', $params['id'])->update([
@ -84,7 +84,7 @@ class BidSecurityRefundLogic extends BaseLogic
'refund_amount' => $params['refund_amount'], 'refund_amount' => $params['refund_amount'],
'refund_date' => strtotime($params['refund_date']), 'refund_date' => strtotime($params['refund_date']),
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'bank_account_id' => $params['bank_account_id'] ?? 0, 'bank_account_id' => $params['bank_account_id'] ?? 0,
]); ]);
@ -121,10 +121,10 @@ class BidSecurityRefundLogic extends BaseLogic
public static function detail($params): array public static function detail($params): array
{ {
$data = BidSecurityRefund::field('id,project_id,bid_security_apply_id,refund_amount,refund_date,remark,annex,bank_account_id,approve_id')->findOrEmpty($params['id']); $data = BidSecurityRefund::field('id,project_id,bid_security_apply_id,refund_amount,refund_date,remark,annex,bank_account_id,approve_id')->findOrEmpty($params['id']);
$project = Project::field('custom_id,name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$bid_security_apply = BidSecurityApply::field('bidding_decision_id,deposit_bank,account_name,account')->where('id',$data['bid_security_apply_id'])->findOrEmpty(); $bid_security_apply = BidSecurityApply::field('bidding_decision_id,deposit_bank,account_name,account')->where('id', $data['bid_security_apply_id'])->findOrEmpty();
$bidding_decision = BidBiddingDecision::field('code,bidding_time')->where('id',$bid_security_apply['bidding_decision_id'])->findOrEmpty(); $bidding_decision = BidBiddingDecision::field('code,bidding_time')->where('id', $bid_security_apply['bidding_decision_id'])->findOrEmpty();
$data['bidding_decision_code'] = $bidding_decision['code']; $data['bidding_decision_code'] = $bidding_decision['code'];
$data['custom_name'] = $custom['name']; $data['custom_name'] = $custom['name'];
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
@ -133,16 +133,17 @@ class BidSecurityRefundLogic extends BaseLogic
$data['deposit_bank'] = $bid_security_apply['deposit_bank']; $data['deposit_bank'] = $bid_security_apply['deposit_bank'];
$data['account_name'] = $bid_security_apply['account_name']; $data['account_name'] = $bid_security_apply['account_name'];
$data['account'] = $bid_security_apply['account']; $data['account'] = $bid_security_apply['account'];
$data['bank_account_info'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id',$data['bank_account_id'])->findOrEmpty(); $data['bank_account_info'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id', $data['bank_account_id'])->findOrEmpty();
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = BidSecurityRefund::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = BidSecurityRefund::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -156,8 +157,8 @@ class BidSecurityRefundLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
BidSecurityRefund::where('id',$params['id'])->update([ BidSecurityRefund::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }

View File

@ -12,28 +12,28 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\contract; namespace app\adminapi\logic\contract;
use app\common\model\auth\Admin; use app\common\logic\BaseLogic;
use app\common\model\bid\BidBuyBiddingDocument; use app\common\model\auth\Admin;
use app\common\model\contract\Contract; use app\common\model\bid\BidBuyBiddingDocument;
use app\common\logic\BaseLogic; use app\common\model\contract\Contract;
use app\common\model\finance\FinanceReturnedMoney; use app\common\model\custom\Custom;
use app\common\model\finance\FinanceReturnedRecord; use app\common\model\finance\FinanceReturnedMoney;
use app\common\model\oa\FlowApprove; use app\common\model\finance\FinanceReturnedRecord;
use app\common\model\project\Project; use app\common\model\oa\FlowApprove;
use app\common\model\custom\Custom; use app\common\model\project\Project;
use think\facade\Db; use think\facade\Db;
/** /**
* 项目合同逻辑 * 项目合同逻辑
* Class ContractLogic * Class ContractLogic
* @package app\adminapi\logic\contract * @package app\adminapi\logic\contract
*/ */
class ContractLogic extends BaseLogic class ContractLogic extends BaseLogic
{ {
/** /**
@ -45,13 +45,13 @@ class ContractLogic extends BaseLogic
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
$buy_bidding_document = BidBuyBiddingDocument::field('project_id')->where('id',$params['buy_bidding_document_id'])->findOrEmpty(); $buy_bidding_document = BidBuyBiddingDocument::field('project_id')->where('id', $params['buy_bidding_document_id'])->findOrEmpty();
Db::startTrans(); Db::startTrans();
try { try {
$contractRes = Contract::create([ $contractRes = Contract::create([
"project_id" => $buy_bidding_document['project_id'], "project_id" => $buy_bidding_document['project_id'],
"buy_bidding_document_id" => $params['buy_bidding_document_id'], "buy_bidding_document_id" => $params['buy_bidding_document_id'],
"contract_name" =>$params['contract_name'], "contract_name" => $params['contract_name'],
'contract_code' => data_unique_code('PHT'), 'contract_code' => data_unique_code('PHT'),
"contract_type" => $params['contract_type'], "contract_type" => $params['contract_type'],
"contract_pricing_method" => $params['contract_pricing_method'], "contract_pricing_method" => $params['contract_pricing_method'],
@ -74,10 +74,9 @@ class ContractLogic extends BaseLogic
"contract_date" => strtotime($params['contract_date']), "contract_date" => strtotime($params['contract_date']),
"main_content" => $params['main_content'] ?? '', "main_content" => $params['main_content'] ?? '',
"remark" => $params['remark'] ?? '', "remark" => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); ]);
foreach ($params['returned_money'] as $item) foreach ($params['returned_money'] as $item) {
{
FinanceReturnedMoney::create([ FinanceReturnedMoney::create([
'project_id' => $buy_bidding_document['project_id'], 'project_id' => $buy_bidding_document['project_id'],
'contract_id' => $contractRes->id, 'contract_id' => $contractRes->id,
@ -90,7 +89,7 @@ class ContractLogic extends BaseLogic
'annex' => null, 'annex' => null,
]); ]);
} }
Project::where('id',$buy_bidding_document['project_id'])->update([ Project::where('id', $buy_bidding_document['project_id'])->update([
'status' => 3, 'status' => 3,
'update_time' => time(), 'update_time' => time(),
]); ]);
@ -113,13 +112,13 @@ class ContractLogic extends BaseLogic
*/ */
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
$buy_bidding_document = BidBuyBiddingDocument::field('project_id')->where('id',$params['buy_bidding_document_id'])->findOrEmpty(); $buy_bidding_document = BidBuyBiddingDocument::field('project_id')->where('id', $params['buy_bidding_document_id'])->findOrEmpty();
Db::startTrans(); Db::startTrans();
try { try {
Contract::where('id', $params['id'])->update([ Contract::where('id', $params['id'])->update([
"project_id" => $buy_bidding_document['project_id'], "project_id" => $buy_bidding_document['project_id'],
"buy_bidding_document_id" => $params['buy_bidding_document_id'], "buy_bidding_document_id" => $params['buy_bidding_document_id'],
"contract_name" =>$params['contract_name'], "contract_name" => $params['contract_name'],
"contract_type" => $params['contract_type'], "contract_type" => $params['contract_type'],
"contract_pricing_method" => $params['contract_pricing_method'], "contract_pricing_method" => $params['contract_pricing_method'],
"party_a" => $params['party_a'], "party_a" => $params['party_a'],
@ -141,12 +140,11 @@ class ContractLogic extends BaseLogic
"contract_date" => strtotime($params['contract_date']), "contract_date" => strtotime($params['contract_date']),
"main_content" => $params['main_content'] ?? '', "main_content" => $params['main_content'] ?? '',
"remark" => $params['remark'] ?? '', "remark" => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); ]);
foreach ($params['returned_money'] as $item) foreach ($params['returned_money'] as $item) {
{ if (isset($item['id']) && $item['id'] != '') {
if(isset($item['id']) && $item['id'] != ''){ FinanceReturnedMoney::where('id', $item['id'])->update([
FinanceReturnedMoney::where('id',$item['id'])->update([
'project_id' => $buy_bidding_document['project_id'], 'project_id' => $buy_bidding_document['project_id'],
'contract_id' => $params['id'], 'contract_id' => $params['id'],
'return_date' => strtotime($item['return_date']), 'return_date' => strtotime($item['return_date']),
@ -157,7 +155,7 @@ class ContractLogic extends BaseLogic
'remark' => $item['remark'] ?? '', 'remark' => $item['remark'] ?? '',
'annex' => null, 'annex' => null,
]); ]);
}else{ } else {
FinanceReturnedMoney::create([ FinanceReturnedMoney::create([
'project_id' => $buy_bidding_document['project_id'], 'project_id' => $buy_bidding_document['project_id'],
'contract_id' => $params['id'], 'contract_id' => $params['id'],
@ -204,10 +202,10 @@ class ContractLogic extends BaseLogic
public static function detail($params): array public static function detail($params): array
{ {
$data = Contract::findOrEmpty($params['id']); $data = Contract::findOrEmpty($params['id']);
$project = Project::field('custom_id,name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$custom = Custom::field('id,name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('id,name')->where('id', $project['custom_id'])->findOrEmpty();
$buy_bidding_document = BidBuyBiddingDocument::field('bid_document_no')->where('id',$data['buy_bidding_document_id'])->findOrEmpty(); $buy_bidding_document = BidBuyBiddingDocument::field('bid_document_no')->where('id', $data['buy_bidding_document_id'])->findOrEmpty();
$business_director = Admin::field('name')->where('id',$data['business_director'])->findOrEmpty(); $business_director = Admin::field('name')->where('id', $data['business_director'])->findOrEmpty();
$data['custom_id'] = $custom['id']; $data['custom_id'] = $custom['id'];
$data['custom_name'] = $custom['name']; $data['custom_name'] = $custom['name'];
$data['bid_document_no'] = $buy_bidding_document['bid_document_no']; $data['bid_document_no'] = $buy_bidding_document['bid_document_no'];
@ -218,16 +216,17 @@ class ContractLogic extends BaseLogic
$data['contract_status_text'] = $data->contract_status_text; $data['contract_status_text'] = $data->contract_status_text;
$data['contract_pricing_method_text'] = $data->contract_pricing_method_text; $data['contract_pricing_method_text'] = $data->contract_pricing_method_text;
$data['business_director_name'] = $business_director['name']; $data['business_director_name'] = $business_director['name'];
$data['returned_amount'] = FinanceReturnedRecord::where('contract_id',$data['id'])->sum('amount'); $data['returned_amount'] = FinanceReturnedRecord::where('contract_id', $data['id'])->sum('amount');
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = Contract::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = Contract::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -241,8 +240,8 @@ class ContractLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
Contract::where('id',$params['id'])->update([ Contract::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -257,8 +256,8 @@ class ContractLogic extends BaseLogic
public static function datas() public static function datas()
{ {
return Contract::field(['id','contract_name'])->order(['id' => 'desc'])->select()->each(function($data){ return Contract::field(['id', 'contract_name'])->order(['id' => 'desc'])->select()->each(function ($data) {
$data['projectinfo'] = 'ID' . $data['id'] . ' / 名称:' . $data['contract_name']; $data['projectinfo'] = 'ID' . $data['id'] . ' / 名称:' . $data['contract_name'];
})->toArray(); })->toArray();
} }
} }

View File

@ -163,7 +163,7 @@
{ {
$data = ContractNegotiation::where('id', $params['id'])->findOrEmpty(); $data = ContractNegotiation::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -12,27 +12,27 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\contract; namespace app\adminapi\logic\contract;
use app\common\model\contract\ProcurementContract; use app\common\logic\BaseLogic;
use app\common\model\contract\ProcurementContractDetail; use app\common\model\contract\ProcurementContract;
use app\common\logic\BaseLogic; use app\common\model\contract\ProcurementContractDetail;
use app\common\model\dict\DictData; use app\common\model\dict\DictData;
use app\common\model\finance\FinancePaymentPlan; use app\common\model\finance\FinancePaymentPlan;
use app\common\model\oa\FlowApprove; use app\common\model\oa\FlowApprove;
use app\common\model\project\Project; use app\common\model\project\Project;
use app\common\model\supplier\Supplier; use app\common\model\supplier\Supplier;
use think\facade\Db; use think\facade\Db;
/** /**
* 采购合同逻辑 * 采购合同逻辑
* Class ProcurementContractLogic * Class ProcurementContractLogic
* @package app\adminapi\logic\contract * @package app\adminapi\logic\contract
*/ */
class ProcurementContractLogic extends BaseLogic class ProcurementContractLogic extends BaseLogic
{ {
/** /**
@ -45,11 +45,11 @@ class ProcurementContractLogic extends BaseLogic
public static function add(array $params): bool public static function add(array $params): bool
{ {
//税率字典值 //税率字典值
$tax_rate_dict = DictData::where('type_value','tax_rate')->column('name','value'); $tax_rate_dict = DictData::where('type_value', 'tax_rate')->column('name', 'value');
//合同金额\不含税金额 //合同金额\不含税金额
$contract_amount = 0; $contract_amount = 0;
foreach($params['procurement_contract_detail'] as $v){ foreach ($params['procurement_contract_detail'] as $v) {
$contract_amount += $v['price']*$v['num']; $contract_amount += $v['price'] * $v['num'];
} }
Db::startTrans(); Db::startTrans();
try { try {
@ -69,8 +69,7 @@ class ProcurementContractLogic extends BaseLogic
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); ]);
foreach ($params['procurement_contract_detail'] as $v) foreach ($params['procurement_contract_detail'] as $v) {
{
ProcurementContractDetail::create([ ProcurementContractDetail::create([
'contract_id' => $procurementContract->id, 'contract_id' => $procurementContract->id,
'material_purchase_request_detail_id' => $v['material_purchase_request_detail_id'], 'material_purchase_request_detail_id' => $v['material_purchase_request_detail_id'],
@ -78,13 +77,12 @@ class ProcurementContractLogic extends BaseLogic
'price' => $v['price'], 'price' => $v['price'],
'tax_rate' => $v['tax_rate'], 'tax_rate' => $v['tax_rate'],
//不含税金额 //不含税金额
'amount_excluding_tax' => $v['num'] * $v['price'] * (1- $tax_rate_dict[$v['tax_rate']] / 100), 'amount_excluding_tax' => $v['num'] * $v['price'] * (1 - $tax_rate_dict[$v['tax_rate']] / 100),
//含税金额 //含税金额
'amount_including_tax' => $v['num'] * $v['price'], 'amount_including_tax' => $v['num'] * $v['price'],
]); ]);
} }
foreach ($params['payment_plan'] as $v) foreach ($params['payment_plan'] as $v) {
{
FinancePaymentPlan::create([ FinancePaymentPlan::create([
'supplier_id' => $params['supplier_id'], 'supplier_id' => $params['supplier_id'],
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
@ -117,15 +115,15 @@ class ProcurementContractLogic extends BaseLogic
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
//税率字典值 //税率字典值
$tax_rate_dict = DictData::where('type_value','tax_rate')->column('name','value'); $tax_rate_dict = DictData::where('type_value', 'tax_rate')->column('name', 'value');
//合同金额\不含税金额 //合同金额\不含税金额
$contract_amount = 0; $contract_amount = 0;
foreach($params['procurement_contract_detail'] as $v){ foreach ($params['procurement_contract_detail'] as $v) {
$contract_amount += $v['price']*$v['num']; $contract_amount += $v['price'] * $v['num'];
} }
Db::startTrans(); Db::startTrans();
try { try {
ProcurementContract::where('id',$params['id'])->update([ ProcurementContract::where('id', $params['id'])->update([
'supplier_id' => $params['supplier_id'], 'supplier_id' => $params['supplier_id'],
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'contract_name' => $params['contract_name'], 'contract_name' => $params['contract_name'],
@ -140,21 +138,20 @@ class ProcurementContractLogic extends BaseLogic
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); ]);
foreach ($params['procurement_contract_detail'] as $v) foreach ($params['procurement_contract_detail'] as $v) {
{ if (isset($v['id']) && $v != '') {
if(isset($v['id']) && $v != ''){ ProcurementContractDetail::where('id', $v['id'])->update([
ProcurementContractDetail::where('id',$v['id'])->update([
'contract_id' => $params['id'], 'contract_id' => $params['id'],
'material_purchase_request_detail_id' => $v['material_purchase_request_detail_id'], 'material_purchase_request_detail_id' => $v['material_purchase_request_detail_id'],
'num' => $v['num'], 'num' => $v['num'],
'price' => $v['price'], 'price' => $v['price'],
'tax_rate' => $v['tax_rate'], 'tax_rate' => $v['tax_rate'],
//不含税金额 //不含税金额
'amount_excluding_tax' => $v['num'] * $v['price'] * (1- $tax_rate_dict[$v['tax_rate']] / 100), 'amount_excluding_tax' => $v['num'] * $v['price'] * (1 - $tax_rate_dict[$v['tax_rate']] / 100),
//含税金额 //含税金额
'amount_including_tax' => $v['num'] * $v['price'], 'amount_including_tax' => $v['num'] * $v['price'],
]); ]);
}else{ } else {
ProcurementContractDetail::create([ ProcurementContractDetail::create([
'contract_id' => $params['id'], 'contract_id' => $params['id'],
'material_purchase_request_detail_id' => $v['material_purchase_request_detail_id'], 'material_purchase_request_detail_id' => $v['material_purchase_request_detail_id'],
@ -162,16 +159,15 @@ class ProcurementContractLogic extends BaseLogic
'price' => $v['price'], 'price' => $v['price'],
'tax_rate' => $v['tax_rate'], 'tax_rate' => $v['tax_rate'],
//不含税金额 //不含税金额
'amount_excluding_tax' => $v['num'] * $v['price'] * (1- $tax_rate_dict[$v['tax_rate']] / 100), 'amount_excluding_tax' => $v['num'] * $v['price'] * (1 - $tax_rate_dict[$v['tax_rate']] / 100),
//含税金额 //含税金额
'amount_including_tax' => $v['num'] * $v['price'], 'amount_including_tax' => $v['num'] * $v['price'],
]); ]);
} }
} }
foreach ($params['payment_plan'] as $v) foreach ($params['payment_plan'] as $v) {
{ if (isset($v['id']) && $v != '') {
if(isset($v['id']) && $v != ''){ FinancePaymentPlan::where('id', $v['id'])->update([
FinancePaymentPlan::where('id',$v['id'])->update([
'supplier_id' => $params['supplier_id'], 'supplier_id' => $params['supplier_id'],
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'contract_id' => $params['id'], 'contract_id' => $params['id'],
@ -182,7 +178,7 @@ class ProcurementContractLogic extends BaseLogic
'status' => 1, 'status' => 1,
'remark' => $v['remark'] ?? '', 'remark' => $v['remark'] ?? '',
]); ]);
}else{ } else {
FinancePaymentPlan::create([ FinancePaymentPlan::create([
'supplier_id' => $params['supplier_id'], 'supplier_id' => $params['supplier_id'],
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
@ -208,18 +204,19 @@ class ProcurementContractLogic extends BaseLogic
public static function delete(array $params): bool public static function delete(array $params): bool
{ {
$detail = ProcurementContractDetail::where('contract_id','in',$params['id'])->findOrEmpty(); $detail = ProcurementContractDetail::where('contract_id', 'in', $params['id'])->findOrEmpty();
if(!$detail->isEmpty()){ if (!$detail->isEmpty()) {
self::setError('此数据关联了采购明细信息,需删除采购明细信息'); self::setError('此数据关联了采购明细信息,需删除采购明细信息');
return false; return false;
} }
$payment_plan = FinancePaymentPlan::where('contract_id','in',$params['id'])->where('contract_type',1)->findOrEmpty(); $payment_plan = FinancePaymentPlan::where('contract_id', 'in', $params['id'])->where('contract_type', 1)->findOrEmpty();
if(!$payment_plan->isEmpty()){ if (!$payment_plan->isEmpty()) {
self::setError('此数据关联了付款计划信息,需删除付款计划信息'); self::setError('此数据关联了付款计划信息,需删除付款计划信息');
return false; return false;
} }
return ProcurementContract::destroy($params['id']); return ProcurementContract::destroy($params['id']);
} }
/** /**
* @notes 获取采购合同详情 * @notes 获取采购合同详情
* @param $params * @param $params
@ -230,8 +227,8 @@ class ProcurementContractLogic extends BaseLogic
public static function detail($params): array public static function detail($params): array
{ {
$data = ProcurementContract::findOrEmpty($params['id']); $data = ProcurementContract::findOrEmpty($params['id']);
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$supplier = Supplier::field('supplier_name,supplier_code')->where('id',$data['supplier_id'])->findOrEmpty(); $supplier = Supplier::field('supplier_name,supplier_code')->where('id', $data['supplier_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['supplier_name'] = $supplier['supplier_name']; $data['supplier_name'] = $supplier['supplier_name'];
@ -239,17 +236,18 @@ class ProcurementContractLogic extends BaseLogic
$data['contract_type_text'] = $data->contract_type_text; $data['contract_type_text'] = $data->contract_type_text;
$data['pay_type_text'] = $data->pay_type_text; $data['pay_type_text'] = $data->pay_type_text;
$data['account_period_text'] = $data->account_period_text; $data['account_period_text'] = $data->account_period_text;
$data['amount_excluding_tax'] = ProcurementContractDetail::where('contract_id',$data['id'])->sum('amount_excluding_tax'); $data['amount_excluding_tax'] = ProcurementContractDetail::where('contract_id', $data['id'])->sum('amount_excluding_tax');
$data['contract_amount'] = ProcurementContractDetail::where('contract_id',$data['id'])->sum('amount_including_tax'); $data['contract_amount'] = ProcurementContractDetail::where('contract_id', $data['id'])->sum('amount_including_tax');
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = ProcurementContract::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = ProcurementContract::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -263,8 +261,8 @@ class ProcurementContractLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
ProcurementContract::where('id',$params['id'])->update([ ProcurementContract::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -279,8 +277,8 @@ class ProcurementContractLogic extends BaseLogic
public static function datas() public static function datas()
{ {
return ProcurementContract::field(['id','contract_name'])->order(['id' => 'desc'])->select()->each(function($data){ return ProcurementContract::field(['id', 'contract_name'])->order(['id' => 'desc'])->select()->each(function ($data) {
$data['projectinfo'] = 'ID' . $data['id'] . ' / 名称:' . $data['contract_name']; $data['projectinfo'] = 'ID' . $data['id'] . ' / 名称:' . $data['contract_name'];
})->toArray(); })->toArray();
} }
} }

View File

@ -12,27 +12,27 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\contract; namespace app\adminapi\logic\contract;
use app\common\model\contract\SubcontractingContract; use app\common\logic\BaseLogic;
use app\common\model\contract\SubcontractingContractDetail; use app\common\model\contract\SubcontractingContract;
use app\common\logic\BaseLogic; use app\common\model\contract\SubcontractingContractDetail;
use app\common\model\dict\DictData; use app\common\model\dict\DictData;
use app\common\model\finance\FinancePaymentPlan; use app\common\model\finance\FinancePaymentPlan;
use app\common\model\oa\FlowApprove; use app\common\model\oa\FlowApprove;
use app\common\model\project\Project; use app\common\model\project\Project;
use app\common\model\supplier\Supplier; use app\common\model\supplier\Supplier;
use think\facade\Db; use think\facade\Db;
/** /**
* SubcontractingContract逻辑 * SubcontractingContract逻辑
* Class SubcontractingContractLogic * Class SubcontractingContractLogic
* @package app\adminapi\logic\contract * @package app\adminapi\logic\contract
*/ */
class SubcontractingContractLogic extends BaseLogic class SubcontractingContractLogic extends BaseLogic
{ {
/** /**
@ -45,11 +45,11 @@ class SubcontractingContractLogic extends BaseLogic
public static function add(array $params): bool public static function add(array $params): bool
{ {
//税率字典值 //税率字典值
$tax_rate_dict = DictData::where('type_value','tax_rate')->column('name','value'); $tax_rate_dict = DictData::where('type_value', 'tax_rate')->column('name', 'value');
//合同金额\不含税金额 //合同金额\不含税金额
$contract_amount = 0; $contract_amount = 0;
foreach($params['subcontracting_contract_detail'] as $v){ foreach ($params['subcontracting_contract_detail'] as $v) {
$contract_amount += $v['price']*$v['num']; $contract_amount += $v['price'] * $v['num'];
} }
Db::startTrans(); Db::startTrans();
try { try {
@ -69,8 +69,7 @@ class SubcontractingContractLogic extends BaseLogic
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); ]);
foreach ($params['subcontracting_contract_detail'] as $v) foreach ($params['subcontracting_contract_detail'] as $v) {
{
SubcontractingContractDetail::create([ SubcontractingContractDetail::create([
'contract_id' => $res->id, 'contract_id' => $res->id,
'subpackage_budget_detail_id' => $v['subpackage_budget_detail_id'], 'subpackage_budget_detail_id' => $v['subpackage_budget_detail_id'],
@ -78,14 +77,13 @@ class SubcontractingContractLogic extends BaseLogic
'price' => $v['price'], 'price' => $v['price'],
'tax_rate' => $v['tax_rate'], 'tax_rate' => $v['tax_rate'],
//不含税金额 //不含税金额
'amount_excluding_tax' => $v['num'] * $v['price'] * (1- $tax_rate_dict[$v['tax_rate']] / 100), 'amount_excluding_tax' => $v['num'] * $v['price'] * (1 - $tax_rate_dict[$v['tax_rate']] / 100),
//含税金额 //含税金额
'amount_including_tax' => $v['num'] * $v['price'], 'amount_including_tax' => $v['num'] * $v['price'],
'remark' => $v['remark'] ?? '', 'remark' => $v['remark'] ?? '',
]); ]);
} }
foreach ($params['payment_plan'] as $v) foreach ($params['payment_plan'] as $v) {
{
FinancePaymentPlan::create([ FinancePaymentPlan::create([
'supplier_id' => $params['supplier_id'], 'supplier_id' => $params['supplier_id'],
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
@ -118,15 +116,15 @@ class SubcontractingContractLogic extends BaseLogic
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
//税率字典值 //税率字典值
$tax_rate_dict = DictData::where('type_value','tax_rate')->column('name','value'); $tax_rate_dict = DictData::where('type_value', 'tax_rate')->column('name', 'value');
//合同金额\不含税金额 //合同金额\不含税金额
$contract_amount = 0; $contract_amount = 0;
foreach($params['subcontracting_contract_detail'] as $v){ foreach ($params['subcontracting_contract_detail'] as $v) {
$contract_amount += $v['price']*$v['num']; $contract_amount += $v['price'] * $v['num'];
} }
Db::startTrans(); Db::startTrans();
try { try {
SubcontractingContract::where('id',$params['id'])->update([ SubcontractingContract::where('id', $params['id'])->update([
'supplier_id' => $params['supplier_id'], 'supplier_id' => $params['supplier_id'],
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'contract_name' => $params['contract_name'], 'contract_name' => $params['contract_name'],
@ -141,22 +139,21 @@ class SubcontractingContractLogic extends BaseLogic
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); ]);
foreach ($params['subcontracting_contract_detail'] as $v) foreach ($params['subcontracting_contract_detail'] as $v) {
{ if (isset($v['id']) && $v != '') {
if(isset($v['id']) && $v != ''){ SubcontractingContractDetail::where('id', $v['id'])->update([
SubcontractingContractDetail::where('id',$v['id'])->update([
'contract_id' => $params['id'], 'contract_id' => $params['id'],
'subpackage_budget_detail_id' => $v['subpackage_budget_detail_id'], 'subpackage_budget_detail_id' => $v['subpackage_budget_detail_id'],
'num' => $v['num'], 'num' => $v['num'],
'price' => $v['price'], 'price' => $v['price'],
'tax_rate' => $v['tax_rate'], 'tax_rate' => $v['tax_rate'],
//不含税金额 //不含税金额
'amount_excluding_tax' => $v['num'] * $v['price'] * (1- $tax_rate_dict[$v['tax_rate']] / 100), 'amount_excluding_tax' => $v['num'] * $v['price'] * (1 - $tax_rate_dict[$v['tax_rate']] / 100),
//含税金额 //含税金额
'amount_including_tax' => $v['num'] * $v['price'], 'amount_including_tax' => $v['num'] * $v['price'],
'remark' => $v['remark'] ?? '', 'remark' => $v['remark'] ?? '',
]); ]);
}else{ } else {
SubcontractingContractDetail::create([ SubcontractingContractDetail::create([
'contract_id' => $params['id'], 'contract_id' => $params['id'],
'subpackage_budget_detail_id' => $v['subpackage_budget_detail_id'], 'subpackage_budget_detail_id' => $v['subpackage_budget_detail_id'],
@ -164,17 +161,16 @@ class SubcontractingContractLogic extends BaseLogic
'price' => $v['price'], 'price' => $v['price'],
'tax_rate' => $v['tax_rate'], 'tax_rate' => $v['tax_rate'],
//不含税金额 //不含税金额
'amount_excluding_tax' => $v['num'] * $v['price'] * (1- $tax_rate_dict[$v['tax_rate']] / 100), 'amount_excluding_tax' => $v['num'] * $v['price'] * (1 - $tax_rate_dict[$v['tax_rate']] / 100),
//含税金额 //含税金额
'amount_including_tax' => $v['num'] * $v['price'], 'amount_including_tax' => $v['num'] * $v['price'],
'remark' => $v['remark'] ?? '', 'remark' => $v['remark'] ?? '',
]); ]);
} }
} }
foreach ($params['payment_plan'] as $v) foreach ($params['payment_plan'] as $v) {
{ if (isset($v['id']) && $v != '') {
if(isset($v['id']) && $v != ''){ FinancePaymentPlan::where('id', $v['id'])->update([
FinancePaymentPlan::where('id',$v['id'])->update([
'supplier_id' => $params['supplier_id'], 'supplier_id' => $params['supplier_id'],
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'contract_id' => $params['id'], 'contract_id' => $params['id'],
@ -185,7 +181,7 @@ class SubcontractingContractLogic extends BaseLogic
'status' => 1, 'status' => 1,
'remark' => $v['remark'] ?? '', 'remark' => $v['remark'] ?? '',
]); ]);
}else{ } else {
FinancePaymentPlan::create([ FinancePaymentPlan::create([
'supplier_id' => $params['supplier_id'], 'supplier_id' => $params['supplier_id'],
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
@ -210,13 +206,13 @@ class SubcontractingContractLogic extends BaseLogic
public static function delete(array $params): bool public static function delete(array $params): bool
{ {
$detail = SubcontractingContractDetail::where('contract_id','in',$params['id'])->findOrEmpty(); $detail = SubcontractingContractDetail::where('contract_id', 'in', $params['id'])->findOrEmpty();
if(!$detail->isEmpty()){ if (!$detail->isEmpty()) {
self::setError('此数据关联了分包明细信息,需删除分包明细信息'); self::setError('此数据关联了分包明细信息,需删除分包明细信息');
return false; return false;
} }
$payment_plan = FinancePaymentPlan::where('contract_id','in',$params['id'])->where('contract_type',2)->findOrEmpty(); $payment_plan = FinancePaymentPlan::where('contract_id', 'in', $params['id'])->where('contract_type', 2)->findOrEmpty();
if(!$payment_plan->isEmpty()){ if (!$payment_plan->isEmpty()) {
self::setError('此数据关联了付款计划信息,需删除付款计划信息'); self::setError('此数据关联了付款计划信息,需删除付款计划信息');
return false; return false;
} }
@ -224,7 +220,6 @@ class SubcontractingContractLogic extends BaseLogic
} }
/** /**
* @notes 获取详情 * @notes 获取详情
* @param $params * @param $params
@ -235,8 +230,8 @@ class SubcontractingContractLogic extends BaseLogic
public static function detail($params): array public static function detail($params): array
{ {
$data = SubcontractingContract::findOrEmpty($params['id']); $data = SubcontractingContract::findOrEmpty($params['id']);
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$supplier = Supplier::field('supplier_name,supplier_code')->where('id',$data['supplier_id'])->findOrEmpty(); $supplier = Supplier::field('supplier_name,supplier_code')->where('id', $data['supplier_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['supplier_name'] = $supplier['supplier_name']; $data['supplier_name'] = $supplier['supplier_name'];
@ -244,17 +239,18 @@ class SubcontractingContractLogic extends BaseLogic
$data['contract_type_text'] = $data->contract_type_text; $data['contract_type_text'] = $data->contract_type_text;
$data['pay_type_text'] = $data->pay_type_text; $data['pay_type_text'] = $data->pay_type_text;
$data['account_period_text'] = $data->account_period_text; $data['account_period_text'] = $data->account_period_text;
$data['contract_amount'] = SubcontractingContractDetail::where('contract_id',$data['id'])->sum('amount_including_tax'); $data['contract_amount'] = SubcontractingContractDetail::where('contract_id', $data['id'])->sum('amount_including_tax');
$data['amount_excluding_tax'] = SubcontractingContractDetail::where('contract_id',$data['id'])->sum('amount_excluding_tax'); $data['amount_excluding_tax'] = SubcontractingContractDetail::where('contract_id', $data['id'])->sum('amount_excluding_tax');
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = SubcontractingContract::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = SubcontractingContract::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -268,8 +264,8 @@ class SubcontractingContractLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
SubcontractingContract::where('id',$params['id'])->update([ SubcontractingContract::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -284,8 +280,8 @@ class SubcontractingContractLogic extends BaseLogic
public static function datas() public static function datas()
{ {
return SubcontractingContract::field(['id','contract_name'])->order(['id' => 'desc'])->select()->each(function($data){ return SubcontractingContract::field(['id', 'contract_name'])->order(['id' => 'desc'])->select()->each(function ($data) {
$data['projectinfo'] = 'ID' . $data['id'] . ' / 名称:' . $data['contract_name']; $data['projectinfo'] = 'ID' . $data['id'] . ' / 名称:' . $data['contract_name'];
})->toArray(); })->toArray();
} }
} }

View File

@ -149,7 +149,7 @@
{ {
$data = SubcontractingContractNegotiation::where('id', $params['id'])->findOrEmpty(); $data = SubcontractingContractNegotiation::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -12,28 +12,28 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\finance; namespace app\adminapi\logic\finance;
use app\common\model\contract\Contract; use app\common\logic\BaseLogic;
use app\common\model\contract\ContractNegotiation; use app\common\model\contract\Contract;
use app\common\model\dict\DictData; use app\common\model\contract\ContractNegotiation;
use app\common\model\finance\FinanceInvoiceApply; use app\common\model\custom\Custom;
use app\common\logic\BaseLogic; use app\common\model\dict\DictData;
use app\common\model\finance\FinanceReturnedRecord; use app\common\model\finance\FinanceInvoiceApply;
use app\common\model\oa\FlowApprove; use app\common\model\finance\FinanceReturnedRecord;
use app\common\model\project\Project; use app\common\model\oa\FlowApprove;
use app\common\model\custom\Custom; use app\common\model\project\Project;
use think\facade\Db; use think\facade\Db;
/** /**
* FinanceInvoiceApply逻辑 * FinanceInvoiceApply逻辑
* Class FinanceInvoiceApplyLogic * Class FinanceInvoiceApplyLogic
* @package app\adminapi\logic\finance * @package app\adminapi\logic\finance
*/ */
class FinanceInvoiceApplyLogic extends BaseLogic class FinanceInvoiceApplyLogic extends BaseLogic
{ {
/** /**
@ -45,8 +45,8 @@ class FinanceInvoiceApplyLogic extends BaseLogic
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
$contract = Contract::field('project_id')->where('id',$params['contract_id'])->findOrEmpty(); $contract = Contract::field('project_id')->where('id', $params['contract_id'])->findOrEmpty();
$tax_rate = DictData::where('type_value','tax_rate')->column('name','value'); $tax_rate = DictData::where('type_value', 'tax_rate')->column('name', 'value');
Db::startTrans(); Db::startTrans();
try { try {
FinanceInvoiceApply::create([ FinanceInvoiceApply::create([
@ -63,7 +63,7 @@ class FinanceInvoiceApplyLogic extends BaseLogic
'content' => $params['content'] ?? '', 'content' => $params['content'] ?? '',
'invoice_no' => $params['invoice_no'] ?? '', 'invoice_no' => $params['invoice_no'] ?? '',
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'invoicing_company_name' => $params['invoicing_company_name'] ?? '', 'invoicing_company_name' => $params['invoicing_company_name'] ?? '',
'taxpayer_identification_number' => $params['taxpayer_identification_number'] ?? '', 'taxpayer_identification_number' => $params['taxpayer_identification_number'] ?? '',
'deposit_bank' => $params['deposit_bank'] ?? '', 'deposit_bank' => $params['deposit_bank'] ?? '',
@ -95,8 +95,8 @@ class FinanceInvoiceApplyLogic extends BaseLogic
*/ */
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
$contract = Contract::field('project_id')->where('id',$params['contract_id'])->findOrEmpty(); $contract = Contract::field('project_id')->where('id', $params['contract_id'])->findOrEmpty();
$tax_rate = DictData::where('type_value','tax_rate')->column('name','value'); $tax_rate = DictData::where('type_value', 'tax_rate')->column('name', 'value');
Db::startTrans(); Db::startTrans();
try { try {
FinanceInvoiceApply::where('id', $params['id'])->update([ FinanceInvoiceApply::where('id', $params['id'])->update([
@ -112,7 +112,7 @@ class FinanceInvoiceApplyLogic extends BaseLogic
'content' => $params['content'] ?? '', 'content' => $params['content'] ?? '',
'invoice_no' => $params['invoice_no'] ?? '', 'invoice_no' => $params['invoice_no'] ?? '',
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'invoicing_company_name' => $params['invoicing_company_name'] ?? '', 'invoicing_company_name' => $params['invoicing_company_name'] ?? '',
'taxpayer_identification_number' => $params['taxpayer_identification_number'] ?? '', 'taxpayer_identification_number' => $params['taxpayer_identification_number'] ?? '',
'deposit_bank' => $params['deposit_bank'] ?? '', 'deposit_bank' => $params['deposit_bank'] ?? '',
@ -159,34 +159,35 @@ class FinanceInvoiceApplyLogic extends BaseLogic
public static function detail($params): array public static function detail($params): array
{ {
$data = FinanceInvoiceApply::findOrEmpty($params['id']); $data = FinanceInvoiceApply::findOrEmpty($params['id']);
$project = Project::field('custom_id,name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$contract = Contract::field('contract_code,contract_name,amount')->where('id',$data['contract_id'])->findOrEmpty(); $contract = Contract::field('contract_code,contract_name,amount')->where('id', $data['contract_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['custom_name'] = $custom['name']; $data['custom_name'] = $custom['name'];
$data['contract_code'] = $contract['contract_code']; $data['contract_code'] = $contract['contract_code'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
//合同洽商金额 //合同洽商金额
$contract_negotiation_amount = ContractNegotiation::where('contract_id',$data['contract_id'])->sum('negotiation_amount'); $contract_negotiation_amount = ContractNegotiation::where('contract_id', $data['contract_id'])->sum('negotiation_amount');
//合同金额 = 合同金额 + 合同洽商金额 //合同金额 = 合同金额 + 合同洽商金额
$data['contract_amount'] = $contract['amount'] + $contract_negotiation_amount; $data['contract_amount'] = $contract['amount'] + $contract_negotiation_amount;
//回款金额 //回款金额
$data['returned_amount'] = FinanceReturnedRecord::where('contract_id',$data['contract_id'])->sum('amount'); $data['returned_amount'] = FinanceReturnedRecord::where('contract_id', $data['contract_id'])->sum('amount');
//累计开票金额 //累计开票金额
$data['total_invoicing_amount'] = FinanceInvoiceApply::where('contract_id',$data['contract_id'])->where('id','<>',$data['id'])->sum('invoicing_amount'); $data['total_invoicing_amount'] = FinanceInvoiceApply::where('contract_id', $data['contract_id'])->where('id', '<>', $data['id'])->sum('invoicing_amount');
$data['period_text'] = $data->period_text; $data['period_text'] = $data->period_text;
$data['tax_rate_text'] = $data->tax_rate_text; $data['tax_rate_text'] = $data->tax_rate_text;
$data['invoice_type_text'] = $data->invoice_type_text; $data['invoice_type_text'] = $data->invoice_type_text;
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = FinanceInvoiceApply::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = FinanceInvoiceApply::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -200,8 +201,8 @@ class FinanceInvoiceApplyLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
FinanceInvoiceApply::where('id',$params['id'])->update([ FinanceInvoiceApply::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -213,4 +214,4 @@ class FinanceInvoiceApplyLogic extends BaseLogic
return false; return false;
} }
} }
} }

View File

@ -207,7 +207,7 @@
{ {
$data = FinancePaymentApply::where('id', $params['id'])->findOrEmpty(); $data = FinancePaymentApply::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -165,7 +165,7 @@
{ {
$data = FinancePaymentPlan::where('id', $params['id'])->findOrEmpty(); $data = FinancePaymentPlan::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -12,27 +12,27 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\finance; namespace app\adminapi\logic\finance;
use app\common\model\contract\ProcurementContract; use app\common\logic\BaseLogic;
use app\common\model\contract\SubcontractingContract; use app\common\model\contract\ProcurementContract;
use app\common\model\dict\DictData; use app\common\model\contract\SubcontractingContract;
use app\common\model\finance\FinanceReceiptRecord; use app\common\model\dict\DictData;
use app\common\model\oa\FlowApprove; use app\common\model\finance\FinanceReceiptRecord;
use app\common\model\project\Project; use app\common\model\oa\FlowApprove;
use app\common\logic\BaseLogic; use app\common\model\project\Project;
use app\common\model\supplier\Supplier; use app\common\model\supplier\Supplier;
use think\facade\Db; use think\facade\Db;
/** /**
* FinanceReceiptRecord逻辑 * FinanceReceiptRecord逻辑
* Class FinanceReceiptRecordLogic * Class FinanceReceiptRecordLogic
* @package app\adminapi\logic\finance * @package app\adminapi\logic\finance
*/ */
class FinanceReceiptRecordLogic extends BaseLogic class FinanceReceiptRecordLogic extends BaseLogic
{ {
/** /**
@ -44,15 +44,15 @@ class FinanceReceiptRecordLogic extends BaseLogic
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
if($params['contract_cate'] == 1){ if ($params['contract_cate'] == 1) {
$contract = ProcurementContract::field('project_id')->where('id',$params['contract_id'])->findOrEmpty()->toArray(); $contract = ProcurementContract::field('project_id')->where('id', $params['contract_id'])->findOrEmpty()->toArray();
}elseif($params['contract_cate'] == 2){ } elseif ($params['contract_cate'] == 2) {
$contract = SubcontractingContract::field('project_id')->where('id',$params['contract_id'])->findOrEmpty()->toArray(); $contract = SubcontractingContract::field('project_id')->where('id', $params['contract_id'])->findOrEmpty()->toArray();
}else{ } else {
self::setError('合同信息不存在'); self::setError('合同信息不存在');
return false; return false;
} }
$tax_rate = DictData::where('type_value','tax_rate')->column('name','value'); $tax_rate = DictData::where('type_value', 'tax_rate')->column('name', 'value');
Db::startTrans(); Db::startTrans();
try { try {
FinanceReceiptRecord::create([ FinanceReceiptRecord::create([
@ -70,7 +70,7 @@ class FinanceReceiptRecordLogic extends BaseLogic
'amount_excluding_tax' => $params['invoice_amount'] * (1 - $tax_rate[$params['invoice_tax_rate']] / 100), 'amount_excluding_tax' => $params['invoice_amount'] * (1 - $tax_rate[$params['invoice_tax_rate']] / 100),
'receipt_date' => strtotime($params['receipt_date']), 'receipt_date' => strtotime($params['receipt_date']),
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); ]);
Db::commit(); Db::commit();
return true; return true;
@ -91,15 +91,15 @@ class FinanceReceiptRecordLogic extends BaseLogic
*/ */
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
if($params['contract_cate'] == 1){ if ($params['contract_cate'] == 1) {
$contract = ProcurementContract::field('project_id')->where('id',$params['contract_id'])->findOrEmpty()->toArray(); $contract = ProcurementContract::field('project_id')->where('id', $params['contract_id'])->findOrEmpty()->toArray();
}elseif($params['contract_cate'] == 2){ } elseif ($params['contract_cate'] == 2) {
$contract = SubcontractingContract::field('project_id')->where('id',$params['contract_id'])->findOrEmpty()->toArray(); $contract = SubcontractingContract::field('project_id')->where('id', $params['contract_id'])->findOrEmpty()->toArray();
}else{ } else {
self::setError('合同信息不存在'); self::setError('合同信息不存在');
return false; return false;
} }
$tax_rate = DictData::where('type_value','tax_rate')->column('name','value'); $tax_rate = DictData::where('type_value', 'tax_rate')->column('name', 'value');
Db::startTrans(); Db::startTrans();
try { try {
FinanceReceiptRecord::where('id', $params['id'])->update([ FinanceReceiptRecord::where('id', $params['id'])->update([
@ -117,7 +117,7 @@ class FinanceReceiptRecordLogic extends BaseLogic
'amount_excluding_tax' => $params['invoice_amount'] * (1 - $tax_rate[$params['invoice_tax_rate']] / 100), 'amount_excluding_tax' => $params['invoice_amount'] * (1 - $tax_rate[$params['invoice_tax_rate']] / 100),
'receipt_date' => strtotime($params['receipt_date']), 'receipt_date' => strtotime($params['receipt_date']),
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); ]);
Db::commit(); Db::commit();
return true; return true;
@ -156,29 +156,30 @@ class FinanceReceiptRecordLogic extends BaseLogic
$data['invoice_type_text'] = $data->invoice_type_text; $data['invoice_type_text'] = $data->invoice_type_text;
$data['invoice_tax_rate_text'] = $data->invoice_tax_rate_text; $data['invoice_tax_rate_text'] = $data->invoice_tax_rate_text;
$data['contract_type_text'] = $data->contract_type_text; $data['contract_type_text'] = $data->contract_type_text;
$supplier = Supplier::field('supplier_name,supplier_code')->where('id',$data['supplier_id'])->findOrEmpty(); $supplier = Supplier::field('supplier_name,supplier_code')->where('id', $data['supplier_id'])->findOrEmpty();
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['supplier_name'] = $supplier['supplier_name']; $data['supplier_name'] = $supplier['supplier_name'];
$data['supplier_code'] = $supplier['supplier_code']; $data['supplier_code'] = $supplier['supplier_code'];
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
if($data['contract_type'] == 1){ if ($data['contract_type'] == 1) {
$contract = ProcurementContract::field('contract_no,contract_name')->where('id',$data['contract_id'])->findOrEmpty(); $contract = ProcurementContract::field('contract_no,contract_name')->where('id', $data['contract_id'])->findOrEmpty();
}else{ } else {
$contract = SubcontractingContract::field('contract_no,contract_name')->where('id',$data['contract_id'])->findOrEmpty(); $contract = SubcontractingContract::field('contract_no,contract_name')->where('id', $data['contract_id'])->findOrEmpty();
} }
$data['contract_no'] = $contract['contract_no']; $data['contract_no'] = $contract['contract_no'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['contract_cate'] = $data['contract_type']; $data['contract_cate'] = $data['contract_type'];
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = FinanceReceiptRecord::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = FinanceReceiptRecord::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -192,8 +193,8 @@ class FinanceReceiptRecordLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
FinanceReceiptRecord::where('id',$params['id'])->update([ FinanceReceiptRecord::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -205,4 +206,4 @@ class FinanceReceiptRecordLogic extends BaseLogic
return false; return false;
} }
} }
} }

View File

@ -12,26 +12,26 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\finance; namespace app\adminapi\logic\finance;
use app\common\model\bank\BankAccount; use app\common\logic\BaseLogic;
use app\common\model\contract\Contract; use app\common\model\bank\BankAccount;
use app\common\model\custom\Custom; use app\common\model\contract\Contract;
use app\common\model\finance\FinanceRefundApply; use app\common\model\custom\Custom;
use app\common\logic\BaseLogic; use app\common\model\finance\FinanceRefundApply;
use app\common\model\oa\FlowApprove; use app\common\model\oa\FlowApprove;
use app\common\model\project\Project; use app\common\model\project\Project;
use think\facade\Db; use think\facade\Db;
/** /**
* FinanceRefundApply逻辑 * FinanceRefundApply逻辑
* Class FinanceRefundApplyLogic * Class FinanceRefundApplyLogic
* @package app\adminapi\logic\finance * @package app\adminapi\logic\finance
*/ */
class FinanceRefundApplyLogic extends BaseLogic class FinanceRefundApplyLogic extends BaseLogic
{ {
/** /**
@ -43,7 +43,7 @@ class FinanceRefundApplyLogic extends BaseLogic
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
$contract = Contract::field('project_id')->where('id',$params['contract_id'])->findOrEmpty(); $contract = Contract::field('project_id')->where('id', $params['contract_id'])->findOrEmpty();
Db::startTrans(); Db::startTrans();
try { try {
FinanceRefundApply::create([ FinanceRefundApply::create([
@ -56,7 +56,7 @@ class FinanceRefundApplyLogic extends BaseLogic
'refund_type' => $params['refund_type'], 'refund_type' => $params['refund_type'],
'refund_user' => $params['refund_user'] ?? '', 'refund_user' => $params['refund_user'] ?? '',
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'collection_bank' => $params['collection_bank'], 'collection_bank' => $params['collection_bank'],
'collection_account' => $params['collection_account'], 'collection_account' => $params['collection_account'],
'bank_account_id' => $params['bank_account_id'], 'bank_account_id' => $params['bank_account_id'],
@ -80,10 +80,10 @@ class FinanceRefundApplyLogic extends BaseLogic
*/ */
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
$contract = Contract::field('project_id')->where('id',$params['contract_id'])->findOrEmpty(); $contract = Contract::field('project_id')->where('id', $params['contract_id'])->findOrEmpty();
Db::startTrans(); Db::startTrans();
try { try {
FinanceRefundApply::where('id',$params['id'])->update([ FinanceRefundApply::where('id', $params['id'])->update([
'project_id' => $contract['project_id'], 'project_id' => $contract['project_id'],
'contract_id' => $params['contract_id'], 'contract_id' => $params['contract_id'],
'refund_date' => strtotime($params['refund_date']), 'refund_date' => strtotime($params['refund_date']),
@ -92,7 +92,7 @@ class FinanceRefundApplyLogic extends BaseLogic
'refund_type' => $params['refund_type'], 'refund_type' => $params['refund_type'],
'refund_user' => $params['refund_user'] ?? '', 'refund_user' => $params['refund_user'] ?? '',
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'collection_bank' => $params['collection_bank'], 'collection_bank' => $params['collection_bank'],
'collection_account' => $params['collection_account'], 'collection_account' => $params['collection_account'],
'bank_account_id' => $params['bank_account_id'], 'bank_account_id' => $params['bank_account_id'],
@ -132,25 +132,26 @@ class FinanceRefundApplyLogic extends BaseLogic
{ {
$data = FinanceRefundApply::field('id,refund_code,project_id,contract_id,refund_date,reason,amount,refund_type,refund_user,remark,annex,collection_bank,collection_account,bank_account_id,approve_id') $data = FinanceRefundApply::field('id,refund_code,project_id,contract_id,refund_date,reason,amount,refund_type,refund_user,remark,annex,collection_bank,collection_account,bank_account_id,approve_id')
->findOrEmpty($params['id']); ->findOrEmpty($params['id']);
$project = Project::field('custom_id,name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('custom_id,name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty();
$contract = Contract::field('contract_name,contract_code')->where('id',$data['contract_id'])->findOrEmpty(); $contract = Contract::field('contract_name,contract_code')->where('id', $data['contract_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['custom_name'] = $custom['name']; $data['custom_name'] = $custom['name'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];
$data['contract_code'] = $contract['contract_code']; $data['contract_code'] = $contract['contract_code'];
$data['refund_type_text'] = $data->refund_type_text; $data['refund_type_text'] = $data->refund_type_text;
$data['bank_account_info'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id',$data['bank_account_id'])->findOrEmpty(); $data['bank_account_info'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id', $data['bank_account_id'])->findOrEmpty();
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = FinanceRefundApply::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = FinanceRefundApply::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -164,8 +165,8 @@ class FinanceRefundApplyLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
FinanceRefundApply::where('id',$params['id'])->update([ FinanceRefundApply::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -177,4 +178,4 @@ class FinanceRefundApplyLogic extends BaseLogic
return false; return false;
} }
} }
} }

View File

@ -12,27 +12,27 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\finance; namespace app\adminapi\logic\finance;
use app\common\model\bank\BankAccount; use app\common\logic\BaseLogic;
use app\common\model\contract\ProcurementContract; use app\common\model\bank\BankAccount;
use app\common\model\contract\SubcontractingContract; use app\common\model\contract\ProcurementContract;
use app\common\model\finance\FinanceRefundRecord; use app\common\model\contract\SubcontractingContract;
use app\common\logic\BaseLogic; use app\common\model\finance\FinanceRefundRecord;
use app\common\model\oa\FlowApprove; use app\common\model\oa\FlowApprove;
use app\common\model\project\Project; use app\common\model\project\Project;
use app\common\model\supplier\Supplier; use app\common\model\supplier\Supplier;
use think\facade\Db; use think\facade\Db;
/** /**
* FinanceRefundRecord逻辑 * FinanceRefundRecord逻辑
* Class FinanceRefundRecordLogic * Class FinanceRefundRecordLogic
* @package app\adminapi\logic\finance * @package app\adminapi\logic\finance
*/ */
class FinanceRefundRecordLogic extends BaseLogic class FinanceRefundRecordLogic extends BaseLogic
{ {
/** /**
@ -44,11 +44,11 @@ class FinanceRefundRecordLogic extends BaseLogic
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
if($params['contract_cate'] == 1){ if ($params['contract_cate'] == 1) {
$contract = ProcurementContract::field('project_id')->where('id',$params['contract_id'])->findOrEmpty()->toArray(); $contract = ProcurementContract::field('project_id')->where('id', $params['contract_id'])->findOrEmpty()->toArray();
}elseif($params['contract_cate'] == 2){ } elseif ($params['contract_cate'] == 2) {
$contract = SubcontractingContract::field('project_id')->where('id',$params['contract_id'])->findOrEmpty()->toArray(); $contract = SubcontractingContract::field('project_id')->where('id', $params['contract_id'])->findOrEmpty()->toArray();
}else{ } else {
self::setError('合同信息不存在'); self::setError('合同信息不存在');
return false; return false;
} }
@ -64,7 +64,7 @@ class FinanceRefundRecordLogic extends BaseLogic
'refund_type' => $params['refund_type'], 'refund_type' => $params['refund_type'],
'reason' => $params['reason'] ?? '', 'reason' => $params['reason'] ?? '',
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'bank_account_id' => $params['bank_account_id'], 'bank_account_id' => $params['bank_account_id'],
]); ]);
Db::commit(); Db::commit();
@ -86,11 +86,11 @@ class FinanceRefundRecordLogic extends BaseLogic
*/ */
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
if($params['contract_cate'] == 1){ if ($params['contract_cate'] == 1) {
$contract = ProcurementContract::field('project_id')->where('id',$params['contract_id'])->findOrEmpty()->toArray(); $contract = ProcurementContract::field('project_id')->where('id', $params['contract_id'])->findOrEmpty()->toArray();
}elseif($params['contract_cate'] == 2){ } elseif ($params['contract_cate'] == 2) {
$contract = SubcontractingContract::field('project_id')->where('id',$params['contract_id'])->findOrEmpty()->toArray(); $contract = SubcontractingContract::field('project_id')->where('id', $params['contract_id'])->findOrEmpty()->toArray();
}else{ } else {
self::setError('合同信息不存在'); self::setError('合同信息不存在');
return false; return false;
} }
@ -106,7 +106,7 @@ class FinanceRefundRecordLogic extends BaseLogic
'refund_type' => $params['refund_type'], 'refund_type' => $params['refund_type'],
'reason' => $params['reason'] ?? '', 'reason' => $params['reason'] ?? '',
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'bank_account_id' => $params['bank_account_id'], 'bank_account_id' => $params['bank_account_id'],
'update_time' => time(), 'update_time' => time(),
]); ]);
@ -144,12 +144,12 @@ class FinanceRefundRecordLogic extends BaseLogic
{ {
$data = FinanceRefundRecord::field('id,supplier_id,project_id,contract_type,contract_id,refund_amount,refund_date,refund_type,reason,remark,annex,bank_account_id,approve_id') $data = FinanceRefundRecord::field('id,supplier_id,project_id,contract_type,contract_id,refund_amount,refund_date,refund_type,reason,remark,annex,bank_account_id,approve_id')
->findOrEmpty($params['id']); ->findOrEmpty($params['id']);
$supplier = Supplier::field('supplier_name,supplier_code')->where('id',$data['supplier_id'])->findOrEmpty(); $supplier = Supplier::field('supplier_name,supplier_code')->where('id', $data['supplier_id'])->findOrEmpty();
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
if($data['contract_type'] == 1){ if ($data['contract_type'] == 1) {
$contract = ProcurementContract::field('contract_no,contract_name')->where('id',$data['contract_id'])->findOrEmpty(); $contract = ProcurementContract::field('contract_no,contract_name')->where('id', $data['contract_id'])->findOrEmpty();
}else{ } else {
$contract = SubcontractingContract::field('contract_no,contract_name')->where('id',$data['contract_id'])->findOrEmpty(); $contract = SubcontractingContract::field('contract_no,contract_name')->where('id', $data['contract_id'])->findOrEmpty();
} }
$data['supplier_name'] = $supplier['supplier_name']; $data['supplier_name'] = $supplier['supplier_name'];
$data['supplier_code'] = $supplier['supplier_code']; $data['supplier_code'] = $supplier['supplier_code'];
@ -160,16 +160,17 @@ class FinanceRefundRecordLogic extends BaseLogic
$data['contract_cate'] = $data['contract_type']; $data['contract_cate'] = $data['contract_type'];
$data['contract_type_text'] = $data->contract_type_text; $data['contract_type_text'] = $data->contract_type_text;
$data['refund_type_text'] = $data->refund_type_text; $data['refund_type_text'] = $data->refund_type_text;
$data['bank_account_info'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id',$data['bank_account_id'])->findOrEmpty(); $data['bank_account_info'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id', $data['bank_account_id'])->findOrEmpty();
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = FinanceRefundRecord::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = FinanceRefundRecord::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -183,8 +184,8 @@ class FinanceRefundRecordLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
FinanceRefundRecord::where('id',$params['id'])->update([ FinanceRefundRecord::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -196,4 +197,4 @@ class FinanceRefundRecordLogic extends BaseLogic
return false; return false;
} }
} }
} }

View File

@ -142,7 +142,7 @@
{ {
$data = FinanceReturnedMoney::where('id', $params['id'])->findOrEmpty(); $data = FinanceReturnedMoney::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -175,7 +175,7 @@
{ {
$data = FinanceReturnedRecord::where('id', $params['id'])->findOrEmpty(); $data = FinanceReturnedRecord::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -193,7 +193,7 @@
{ {
$data = MarketingBidEvaluation::where('id', $params['id'])->findOrEmpty(); $data = MarketingBidEvaluation::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -225,7 +225,7 @@
{ {
$data = MarketingContract::where('id', $params['id'])->findOrEmpty(); $data = MarketingContract::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -187,7 +187,7 @@
{ {
$data = MarketingContract::where('id', $params['id'])->findOrEmpty(); $data = MarketingContract::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -184,7 +184,7 @@
{ {
$data = MarketingContract::where('id', $params['id'])->findOrEmpty(); $data = MarketingContract::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -174,7 +174,7 @@
{ {
$data = MaterialPurchaseRequest::where('id', $params['id'])->findOrEmpty(); $data = MaterialPurchaseRequest::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -12,24 +12,24 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\project; namespace app\adminapi\logic\project;
use app\common\model\auth\Admin; use app\common\logic\BaseLogic;
use app\common\model\oa\FlowApprove; use app\common\model\auth\Admin;
use app\common\model\project\Project; use app\common\model\oa\FlowApprove;
use app\common\model\project\ProjectCostAdjustment; use app\common\model\project\Project;
use app\common\logic\BaseLogic; use app\common\model\project\ProjectCostAdjustment;
use think\facade\Db; use think\facade\Db;
/** /**
* 成本调整逻辑 * 成本调整逻辑
* Class ProjectCostAdjustmentLogic * Class ProjectCostAdjustmentLogic
* @package app\adminapi\logic\project * @package app\adminapi\logic\project
*/ */
class ProjectCostAdjustmentLogic extends BaseLogic class ProjectCostAdjustmentLogic extends BaseLogic
{ {
/** /**
@ -39,7 +39,7 @@ class ProjectCostAdjustmentLogic extends BaseLogic
* @author likeadmin * @author likeadmin
* @date 2024/01/17 13:43 * @date 2024/01/17 13:43
*/ */
public static function add(array $params,$admin_id): bool public static function add(array $params, $admin_id): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
@ -69,7 +69,7 @@ class ProjectCostAdjustmentLogic extends BaseLogic
* @author likeadmin * @author likeadmin
* @date 2024/01/17 13:43 * @date 2024/01/17 13:43
*/ */
public static function edit(array $params,$admin_id): bool public static function edit(array $params, $admin_id): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
@ -115,21 +115,22 @@ class ProjectCostAdjustmentLogic extends BaseLogic
public static function detail($params): array public static function detail($params): array
{ {
$data = ProjectCostAdjustment::field('id,project_id,adjust_date,adjust_amount,remark,annex,add_user,update_user,create_time,update_time,approve_id')->findOrEmpty($params['id']); $data = ProjectCostAdjustment::field('id,project_id,adjust_date,adjust_amount,remark,annex,add_user,update_user,create_time,update_time,approve_id')->findOrEmpty($params['id']);
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$admin = Admin::where('id','in',[$data['add_user'],$data['update_user']])->column('name','id'); $admin = Admin::where('id', 'in', [$data['add_user'], $data['update_user']])->column('name', 'id');
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['add_user'] = $admin[$data['add_user']]; $data['add_user'] = $admin[$data['add_user']];
$data['update_user'] = $admin[$data['update_user']]; $data['update_user'] = $admin[$data['update_user']];
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = ProjectCostAdjustment::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = ProjectCostAdjustment::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -143,8 +144,8 @@ class ProjectCostAdjustmentLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
ProjectCostAdjustment::where('id',$params['id'])->update([ ProjectCostAdjustment::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -156,4 +157,4 @@ class ProjectCostAdjustmentLogic extends BaseLogic
return false; return false;
} }
} }
} }

View File

@ -12,26 +12,26 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\project; namespace app\adminapi\logic\project;
use app\common\model\dept\Dept; use app\common\logic\BaseLogic;
use app\common\model\dept\Orgs; use app\common\model\dept\Dept;
use app\common\model\oa\FlowApprove; use app\common\model\dept\Orgs;
use app\common\model\project\Project; use app\common\model\oa\FlowApprove;
use app\common\model\project\ProjectCostBudget; use app\common\model\project\Project;
use app\common\logic\BaseLogic; use app\common\model\project\ProjectCostBudget;
use app\common\model\project\ProjectCostBudgetDetail; use app\common\model\project\ProjectCostBudgetDetail;
use think\facade\Db; use think\facade\Db;
/** /**
* 费用预算逻辑 * 费用预算逻辑
* Class ProjectCostBudgetLogic * Class ProjectCostBudgetLogic
* @package app\adminapi\logic\project * @package app\adminapi\logic\project
*/ */
class ProjectCostBudgetLogic extends BaseLogic class ProjectCostBudgetLogic extends BaseLogic
{ {
/** /**
@ -41,7 +41,7 @@ class ProjectCostBudgetLogic extends BaseLogic
* @author likeadmin * @author likeadmin
* @date 2024/01/16 14:32 * @date 2024/01/16 14:32
*/ */
public static function add(array $params,$admin_id): bool public static function add(array $params, $admin_id): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
@ -53,8 +53,7 @@ class ProjectCostBudgetLogic extends BaseLogic
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); ]);
foreach ($params['cost_budget_detail'] as $item) foreach ($params['cost_budget_detail'] as $item) {
{
ProjectCostBudgetDetail::create([ ProjectCostBudgetDetail::create([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'cost_budget_id' => $res->id, 'cost_budget_id' => $res->id,
@ -94,10 +93,9 @@ class ProjectCostBudgetLogic extends BaseLogic
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); ]);
foreach ($params['cost_budget_detail'] as $item) foreach ($params['cost_budget_detail'] as $item) {
{ if (isset($item['id']) && $item['id'] != '') {
if(isset($item['id']) && $item['id'] != ''){ ProjectCostBudgetDetail::where('id', $item['id'])->update([
ProjectCostBudgetDetail::where('id',$item['id'])->update([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'cost_budget_id' => $params['id'], 'cost_budget_id' => $params['id'],
'project_cost_temp_id' => $item['project_cost_temp_id'], 'project_cost_temp_id' => $item['project_cost_temp_id'],
@ -106,7 +104,7 @@ class ProjectCostBudgetLogic extends BaseLogic
'standard' => $item['standard'] ?? '', 'standard' => $item['standard'] ?? '',
'remark' => $item['remark'] ?? '', 'remark' => $item['remark'] ?? '',
]); ]);
}else{ } else {
ProjectCostBudgetDetail::create([ ProjectCostBudgetDetail::create([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'cost_budget_id' => $params['id'], 'cost_budget_id' => $params['id'],
@ -151,22 +149,23 @@ class ProjectCostBudgetLogic extends BaseLogic
public static function detail($params): array public static function detail($params): array
{ {
$data = ProjectCostBudget::field('id,org_id,dept_id,project_id,cost_budget_code,remark,annex,approve_id')->findOrEmpty($params['id']); $data = ProjectCostBudget::field('id,org_id,dept_id,project_id,cost_budget_code,remark,annex,approve_id')->findOrEmpty($params['id']);
$org = Orgs::field('name')->where('id',$data['org_id'])->findOrEmpty(); $org = Orgs::field('name')->where('id', $data['org_id'])->findOrEmpty();
$dept = Dept::field('name')->where('id',$data['dept_id'])->findOrEmpty(); $dept = Dept::field('name')->where('id', $data['dept_id'])->findOrEmpty();
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['org_name'] = $org['name']; $data['org_name'] = $org['name'];
$data['dept_name'] = $dept['name']; $data['dept_name'] = $dept['name'];
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = ProjectCostBudget::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = ProjectCostBudget::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -180,8 +179,8 @@ class ProjectCostBudgetLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
ProjectCostBudget::where('id',$params['id'])->update([ ProjectCostBudget::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -193,4 +192,4 @@ class ProjectCostBudgetLogic extends BaseLogic
return false; return false;
} }
} }
} }

View File

@ -12,26 +12,26 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\project; namespace app\adminapi\logic\project;
use app\common\model\dept\Dept; use app\common\logic\BaseLogic;
use app\common\model\dept\Orgs; use app\common\model\dept\Dept;
use app\common\model\oa\FlowApprove; use app\common\model\dept\Orgs;
use app\common\model\project\Project; use app\common\model\oa\FlowApprove;
use app\common\model\project\ProjectEquipmentBudget; use app\common\model\project\Project;
use app\common\logic\BaseLogic; use app\common\model\project\ProjectEquipmentBudget;
use app\common\model\project\ProjectEquipmentBudgetDetail; use app\common\model\project\ProjectEquipmentBudgetDetail;
use think\facade\Db; use think\facade\Db;
/** /**
* 机具预算逻辑 * 机具预算逻辑
* Class ProjectEquipmentBudgetLogic * Class ProjectEquipmentBudgetLogic
* @package app\adminapi\logic\project * @package app\adminapi\logic\project
*/ */
class ProjectEquipmentBudgetLogic extends BaseLogic class ProjectEquipmentBudgetLogic extends BaseLogic
{ {
/** /**
@ -41,7 +41,7 @@ class ProjectEquipmentBudgetLogic extends BaseLogic
* @author likeadmin * @author likeadmin
* @date 2024/01/16 11:40 * @date 2024/01/16 11:40
*/ */
public static function add(array $params,$admin_id): bool public static function add(array $params, $admin_id): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
@ -53,8 +53,7 @@ class ProjectEquipmentBudgetLogic extends BaseLogic
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); ]);
foreach ($params['equipment_budget_detail'] as $item) foreach ($params['equipment_budget_detail'] as $item) {
{
ProjectEquipmentBudgetDetail::create([ ProjectEquipmentBudgetDetail::create([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'equipment_budget_id' => $res->id, 'equipment_budget_id' => $res->id,
@ -96,10 +95,9 @@ class ProjectEquipmentBudgetLogic extends BaseLogic
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); ]);
foreach ($params['equipment_budget_detail'] as $item) foreach ($params['equipment_budget_detail'] as $item) {
{ if (isset($item['id']) && $item['id'] != '') {
if(isset($item['id']) && $item['id'] != ''){ ProjectEquipmentBudgetDetail::where('id', $item['id'])->update([
ProjectEquipmentBudgetDetail::where('id',$item['id'])->update([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'equipment_budget_id' => $params['id'], 'equipment_budget_id' => $params['id'],
'type' => $item['type'], 'type' => $item['type'],
@ -111,7 +109,7 @@ class ProjectEquipmentBudgetLogic extends BaseLogic
'amount' => $item['price'] * $item['num'], 'amount' => $item['price'] * $item['num'],
'remark' => $item['remark'] ?? '', 'remark' => $item['remark'] ?? '',
]); ]);
}else{ } else {
ProjectEquipmentBudgetDetail::create([ ProjectEquipmentBudgetDetail::create([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'equipment_budget_id' => $params['id'], 'equipment_budget_id' => $params['id'],
@ -159,22 +157,23 @@ class ProjectEquipmentBudgetLogic extends BaseLogic
public static function detail($params): array public static function detail($params): array
{ {
$data = ProjectEquipmentBudget::field('id,org_id,dept_id,project_id,equipment_budget_code,remark,annex,approve_id')->findOrEmpty($params['id']); $data = ProjectEquipmentBudget::field('id,org_id,dept_id,project_id,equipment_budget_code,remark,annex,approve_id')->findOrEmpty($params['id']);
$org = Orgs::field('name')->where('id',$data['org_id'])->findOrEmpty(); $org = Orgs::field('name')->where('id', $data['org_id'])->findOrEmpty();
$dept = Dept::field('name')->where('id',$data['dept_id'])->findOrEmpty(); $dept = Dept::field('name')->where('id', $data['dept_id'])->findOrEmpty();
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['org_name'] = $org['name']; $data['org_name'] = $org['name'];
$data['dept_name'] = $dept['name']; $data['dept_name'] = $dept['name'];
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = ProjectEquipmentBudget::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = ProjectEquipmentBudget::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -188,8 +187,8 @@ class ProjectEquipmentBudgetLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
ProjectEquipmentBudget::where('id',$params['id'])->update([ ProjectEquipmentBudget::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -201,4 +200,4 @@ class ProjectEquipmentBudgetLogic extends BaseLogic
return false; return false;
} }
} }
} }

View File

@ -12,28 +12,28 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\project; namespace app\adminapi\logic\project;
use app\common\model\bank\BankAccount; use app\common\logic\BaseLogic;
use app\common\model\dict\DictData; use app\common\model\bank\BankAccount;
use app\common\model\oa\FlowApprove; use app\common\model\dict\DictData;
use app\common\model\project\Project; use app\common\model\oa\FlowApprove;
use app\common\model\project\ProjectExpenseReimbursement; use app\common\model\project\Project;
use app\common\logic\BaseLogic; use app\common\model\project\ProjectExpenseReimbursement;
use app\common\model\project\ProjectExpenseReimbursementDetail; use app\common\model\project\ProjectExpenseReimbursementDetail;
use app\common\model\project\ProjectExpenseReimbursementInvoiceDetail; use app\common\model\project\ProjectExpenseReimbursementInvoiceDetail;
use app\common\model\project\ProjectLoanApply; use app\common\model\project\ProjectLoanApply;
use think\facade\Db; use think\facade\Db;
/** /**
* 费用报销逻辑 * 费用报销逻辑
* Class ProjectExpenseReimbursementLogic * Class ProjectExpenseReimbursementLogic
* @package app\adminapi\logic\project * @package app\adminapi\logic\project
*/ */
class ProjectExpenseReimbursementLogic extends BaseLogic class ProjectExpenseReimbursementLogic extends BaseLogic
{ {
/** /**
@ -43,10 +43,10 @@ class ProjectExpenseReimbursementLogic extends BaseLogic
* @author likeadmin * @author likeadmin
* @date 2024/01/19 13:44 * @date 2024/01/19 13:44
*/ */
public static function add(array $params,$admin_id): bool public static function add(array $params, $admin_id): bool
{ {
//获取税率 //获取税率
$tax_rate = DictData::where('type_value','tax_rate')->column('name','value'); $tax_rate = DictData::where('type_value', 'tax_rate')->column('name', 'value');
Db::startTrans(); Db::startTrans();
try { try {
$res = ProjectExpenseReimbursement::create([ $res = ProjectExpenseReimbursement::create([
@ -64,7 +64,7 @@ class ProjectExpenseReimbursementLogic extends BaseLogic
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'bank_account_id' => $params['bank_account_id'], 'bank_account_id' => $params['bank_account_id'],
]); ]);
foreach($params['reimbursement_detail'] as $item){ foreach ($params['reimbursement_detail'] as $item) {
ProjectExpenseReimbursementDetail::create([ ProjectExpenseReimbursementDetail::create([
'expense_reimbursement_id' => $res->id, 'expense_reimbursement_id' => $res->id,
'project_cost_temp_id' => $item['project_cost_temp_id'], 'project_cost_temp_id' => $item['project_cost_temp_id'],
@ -72,7 +72,7 @@ class ProjectExpenseReimbursementLogic extends BaseLogic
'remark' => $item['remark'] ?? '', 'remark' => $item['remark'] ?? '',
]); ]);
} }
foreach($params['invoice_detail'] as $item){ foreach ($params['invoice_detail'] as $item) {
ProjectExpenseReimbursementInvoiceDetail::create([ ProjectExpenseReimbursementInvoiceDetail::create([
'expense_reimbursement_id' => $res->id, 'expense_reimbursement_id' => $res->id,
'invoice_type' => $item['invoice_type'], 'invoice_type' => $item['invoice_type'],
@ -105,7 +105,7 @@ class ProjectExpenseReimbursementLogic extends BaseLogic
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
//获取税率 //获取税率
$tax_rate = DictData::where('type_value','tax_rate')->column('name','value'); $tax_rate = DictData::where('type_value', 'tax_rate')->column('name', 'value');
Db::startTrans(); Db::startTrans();
try { try {
ProjectExpenseReimbursement::where('id', $params['id'])->update([ ProjectExpenseReimbursement::where('id', $params['id'])->update([
@ -123,16 +123,16 @@ class ProjectExpenseReimbursementLogic extends BaseLogic
'bank_account_id' => $params['bank_account_id'], 'bank_account_id' => $params['bank_account_id'],
'update_time' => time(), 'update_time' => time(),
]); ]);
foreach($params['reimbursement_detail'] as $item){ foreach ($params['reimbursement_detail'] as $item) {
if(isset($item['id']) && $item['id'] != ''){ if (isset($item['id']) && $item['id'] != '') {
ProjectExpenseReimbursementDetail::where('id',$item['id'])->update([ ProjectExpenseReimbursementDetail::where('id', $item['id'])->update([
'expense_reimbursement_id' => $params['id'], 'expense_reimbursement_id' => $params['id'],
'project_cost_temp_id' => $item['project_cost_temp_id'], 'project_cost_temp_id' => $item['project_cost_temp_id'],
'amount' => $item['amount'], 'amount' => $item['amount'],
'remark' => $item['remark'] ?? '', 'remark' => $item['remark'] ?? '',
'update_time' => time(), 'update_time' => time(),
]); ]);
}else{ } else {
ProjectExpenseReimbursementDetail::create([ ProjectExpenseReimbursementDetail::create([
'expense_reimbursement_id' => $params['id'], 'expense_reimbursement_id' => $params['id'],
'project_cost_temp_id' => $item['project_cost_temp_id'], 'project_cost_temp_id' => $item['project_cost_temp_id'],
@ -141,9 +141,9 @@ class ProjectExpenseReimbursementLogic extends BaseLogic
]); ]);
} }
} }
foreach($params['invoice_detail'] as $item){ foreach ($params['invoice_detail'] as $item) {
if(isset($item['id']) && $item['id'] != ''){ if (isset($item['id']) && $item['id'] != '') {
ProjectExpenseReimbursementInvoiceDetail::where('id',$item['id'])->update([ ProjectExpenseReimbursementInvoiceDetail::where('id', $item['id'])->update([
'expense_reimbursement_id' => $params['id'], 'expense_reimbursement_id' => $params['id'],
'invoice_type' => $item['invoice_type'], 'invoice_type' => $item['invoice_type'],
'invoice_sn' => $item['invoice_sn'], 'invoice_sn' => $item['invoice_sn'],
@ -155,7 +155,7 @@ class ProjectExpenseReimbursementLogic extends BaseLogic
'remark' => $item['remark'] ?? '', 'remark' => $item['remark'] ?? '',
'update_time' => time(), 'update_time' => time(),
]); ]);
}else{ } else {
ProjectExpenseReimbursementInvoiceDetail::create([ ProjectExpenseReimbursementInvoiceDetail::create([
'expense_reimbursement_id' => $params['id'], 'expense_reimbursement_id' => $params['id'],
'invoice_type' => $item['invoice_type'], 'invoice_type' => $item['invoice_type'],
@ -190,8 +190,8 @@ class ProjectExpenseReimbursementLogic extends BaseLogic
{ {
Db::startTrans(); Db::startTrans();
try { try {
$expense_reimbursement_detail_ids = ProjectExpenseReimbursementDetail::where('expense_reimbursement_id',$params['id'])->column('id'); $expense_reimbursement_detail_ids = ProjectExpenseReimbursementDetail::where('expense_reimbursement_id', $params['id'])->column('id');
$expense_reimbursement_invoice_detail_ids = ProjectExpenseReimbursementInvoiceDetail::where('expense_reimbursement_id',$params['id'])->column('id'); $expense_reimbursement_invoice_detail_ids = ProjectExpenseReimbursementInvoiceDetail::where('expense_reimbursement_id', $params['id'])->column('id');
ProjectExpenseReimbursement::destroy($params['id']); ProjectExpenseReimbursement::destroy($params['id']);
ProjectExpenseReimbursementDetail::destroy($expense_reimbursement_detail_ids); ProjectExpenseReimbursementDetail::destroy($expense_reimbursement_detail_ids);
ProjectExpenseReimbursementInvoiceDetail::destroy($expense_reimbursement_invoice_detail_ids); ProjectExpenseReimbursementInvoiceDetail::destroy($expense_reimbursement_invoice_detail_ids);
@ -216,25 +216,26 @@ class ProjectExpenseReimbursementLogic extends BaseLogic
{ {
$data = ProjectExpenseReimbursement::field('id,expense_reimbursement_code,project_id,apply_user,apply_date,reimbursement_type,loan_apply_id,offset_loan_amount,payee_name,payee_bank,payee_account,remark,annex,bank_account_id,approve_id') $data = ProjectExpenseReimbursement::field('id,expense_reimbursement_code,project_id,apply_user,apply_date,reimbursement_type,loan_apply_id,offset_loan_amount,payee_name,payee_bank,payee_account,remark,annex,bank_account_id,approve_id')
->findOrEmpty($params['id']); ->findOrEmpty($params['id']);
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$loan_apply = ProjectLoanApply::field('loan_apply_code,loan_amount')->where('id',$data['loan_apply_id'])->findOrEmpty(); $loan_apply = ProjectLoanApply::field('loan_apply_code,loan_amount')->where('id', $data['loan_apply_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['loan_apply_code'] = !$loan_apply->isEmpty() ? $loan_apply['loan_apply_code'] : '---'; $data['loan_apply_code'] = !$loan_apply->isEmpty() ? $loan_apply['loan_apply_code'] : '---';
$data['loan_amount'] = !$loan_apply->isEmpty() ? $loan_apply['loan_amount'] : '---'; $data['loan_amount'] = !$loan_apply->isEmpty() ? $loan_apply['loan_amount'] : '---';
$data['total_amount'] = ProjectExpenseReimbursementDetail::where('expense_reimbursement_id',$data['id'])->sum('amount'); $data['total_amount'] = ProjectExpenseReimbursementDetail::where('expense_reimbursement_id', $data['id'])->sum('amount');
$data['pay_amount'] = $data['total_amount'] - $data['offset_loan_amount']; $data['pay_amount'] = $data['total_amount'] - $data['offset_loan_amount'];
$data['reimbursement_type_text'] = $data->reimbursement_type_text; $data['reimbursement_type_text'] = $data->reimbursement_type_text;
$data['bank_account'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id',$data['bank_account_id'])->findOrEmpty(); $data['bank_account'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id', $data['bank_account_id'])->findOrEmpty();
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = ProjectExpenseReimbursement::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = ProjectExpenseReimbursement::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -248,8 +249,8 @@ class ProjectExpenseReimbursementLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
ProjectExpenseReimbursement::where('id',$params['id'])->update([ ProjectExpenseReimbursement::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -261,4 +262,4 @@ class ProjectExpenseReimbursementLogic extends BaseLogic
return false; return false;
} }
} }
} }

View File

@ -12,25 +12,25 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\project; namespace app\adminapi\logic\project;
use app\common\model\dept\Dept; use app\common\logic\BaseLogic;
use app\common\model\dept\Orgs; use app\common\model\dept\Dept;
use app\common\model\oa\FlowApprove; use app\common\model\dept\Orgs;
use app\common\model\project\Project; use app\common\model\oa\FlowApprove;
use app\common\model\project\ProjectLaborBudget; use app\common\model\project\Project;
use app\common\logic\BaseLogic; use app\common\model\project\ProjectLaborBudget;
use app\common\model\project\ProjectLaborBudgetDetail; use app\common\model\project\ProjectLaborBudgetDetail;
use think\facade\Db; use think\facade\Db;
/** /**
* 人工预算逻辑 * 人工预算逻辑
* Class ProjectLaborBudgetLogic * Class ProjectLaborBudgetLogic
* @package app\adminapi\logic\project * @package app\adminapi\logic\project
*/ */
class ProjectLaborBudgetLogic extends BaseLogic class ProjectLaborBudgetLogic extends BaseLogic
{ {
/** /**
@ -40,7 +40,7 @@ class ProjectLaborBudgetLogic extends BaseLogic
* @author likeadmin * @author likeadmin
* @date 2024/01/16 09:26 * @date 2024/01/16 09:26
*/ */
public static function add(array $params,$admin_id): bool public static function add(array $params, $admin_id): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
@ -52,8 +52,7 @@ class ProjectLaborBudgetLogic extends BaseLogic
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); ]);
foreach ($params['labor_budget_detail'] as $item) foreach ($params['labor_budget_detail'] as $item) {
{
ProjectLaborBudgetDetail::create([ ProjectLaborBudgetDetail::create([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'labor_budget_id' => $res->id, 'labor_budget_id' => $res->id,
@ -93,12 +92,11 @@ class ProjectLaborBudgetLogic extends BaseLogic
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'update_time' =>time(), 'update_time' => time(),
]); ]);
foreach ($params['labor_budget_detail'] as $item) foreach ($params['labor_budget_detail'] as $item) {
{ if (isset($item['id']) && $item['id'] != '') {
if(isset($item['id']) && $item['id'] != ''){ ProjectLaborBudgetDetail::where('id', $item['id'])->update([
ProjectLaborBudgetDetail::where('id',$item['id'])->update([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'job_type_id' => $item['job_type_id'], 'job_type_id' => $item['job_type_id'],
'desc' => $item['desc'] ?? '', 'desc' => $item['desc'] ?? '',
@ -108,7 +106,7 @@ class ProjectLaborBudgetLogic extends BaseLogic
'amount' => $item['price'] * $item['num'], 'amount' => $item['price'] * $item['num'],
'remark' => $item['remark'] ?? '', 'remark' => $item['remark'] ?? '',
]); ]);
}else{ } else {
ProjectLaborBudgetDetail::create([ ProjectLaborBudgetDetail::create([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'labor_budget_id' => $params['id'], 'labor_budget_id' => $params['id'],
@ -155,22 +153,23 @@ class ProjectLaborBudgetLogic extends BaseLogic
public static function detail($params): array public static function detail($params): array
{ {
$data = ProjectLaborBudget::field('id,org_id,dept_id,project_id,labor_budget_code,remark,annex,approve_id')->findOrEmpty($params['id']); $data = ProjectLaborBudget::field('id,org_id,dept_id,project_id,labor_budget_code,remark,annex,approve_id')->findOrEmpty($params['id']);
$org = Orgs::field('name')->where('id',$data['org_id'])->findOrEmpty(); $org = Orgs::field('name')->where('id', $data['org_id'])->findOrEmpty();
$dept = Dept::field('name')->where('id',$data['dept_id'])->findOrEmpty(); $dept = Dept::field('name')->where('id', $data['dept_id'])->findOrEmpty();
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['org_name'] = $org['name']; $data['org_name'] = $org['name'];
$data['dept_name'] = $dept['name']; $data['dept_name'] = $dept['name'];
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = ProjectLaborBudget::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = ProjectLaborBudget::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -184,8 +183,8 @@ class ProjectLaborBudgetLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
ProjectLaborBudget::where('id',$params['id'])->update([ ProjectLaborBudget::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -197,4 +196,4 @@ class ProjectLaborBudgetLogic extends BaseLogic
return false; return false;
} }
} }
} }

View File

@ -12,24 +12,24 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\project; namespace app\adminapi\logic\project;
use app\common\model\bank\BankAccount; use app\common\logic\BaseLogic;
use app\common\model\oa\FlowApprove; use app\common\model\bank\BankAccount;
use app\common\model\project\Project; use app\common\model\oa\FlowApprove;
use app\common\model\project\ProjectLoanApply; use app\common\model\project\Project;
use app\common\logic\BaseLogic; use app\common\model\project\ProjectLoanApply;
use think\facade\Db; use think\facade\Db;
/** /**
* 借款申请逻辑 * 借款申请逻辑
* Class ProjectLoanApplyLogic * Class ProjectLoanApplyLogic
* @package app\adminapi\logic\project * @package app\adminapi\logic\project
*/ */
class ProjectLoanApplyLogic extends BaseLogic class ProjectLoanApplyLogic extends BaseLogic
{ {
/** /**
@ -39,7 +39,7 @@ class ProjectLoanApplyLogic extends BaseLogic
* @author likeadmin * @author likeadmin
* @date 2024/01/17 11:05 * @date 2024/01/17 11:05
*/ */
public static function add(array $params,$admin_id): bool public static function add(array $params, $admin_id): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
@ -124,19 +124,20 @@ class ProjectLoanApplyLogic extends BaseLogic
{ {
$data = ProjectLoanApply::field('id,project_id,loan_apply_code,apply_user,loan_date,loan_amount,payee_name,payee_bank,payee_account,remark,annex,bank_account_id,approve_id') $data = ProjectLoanApply::field('id,project_id,loan_apply_code,apply_user,loan_date,loan_amount,payee_name,payee_bank,payee_account,remark,annex,bank_account_id,approve_id')
->findOrEmpty($params['id']); ->findOrEmpty($params['id']);
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
$data['bank_account'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id',$data['bank_account_id'])->findOrEmpty(); $data['bank_account'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id', $data['bank_account_id'])->findOrEmpty();
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = ProjectLoanApply::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = ProjectLoanApply::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -150,8 +151,8 @@ class ProjectLoanApplyLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
ProjectLoanApply::where('id',$params['id'])->update([ ProjectLoanApply::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -163,4 +164,4 @@ class ProjectLoanApplyLogic extends BaseLogic
return false; return false;
} }
} }
} }

View File

@ -173,7 +173,7 @@
{ {
$data = ProjectMaterialBudget::where('id', $params['id'])->findOrEmpty(); $data = ProjectMaterialBudget::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -141,7 +141,7 @@
{ {
$data = ProjectSettlement::where('id', $params['id'])->findOrEmpty(); $data = ProjectSettlement::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -142,7 +142,7 @@
{ {
$data = ProjectSubcontractSettlement::where('id', $params['id'])->findOrEmpty(); $data = ProjectSubcontractSettlement::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -180,7 +180,7 @@
{ {
$data = ProjectSubpackageBudget::where('id', $params['id'])->findOrEmpty(); $data = ProjectSubpackageBudget::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -168,7 +168,7 @@
{ {
$data = ProjectTotalBudget::where('id', $params['id'])->findOrEmpty(); $data = ProjectTotalBudget::where('id', $params['id'])->findOrEmpty();
$approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if (!empty($data['approve_id']) && $approve_data['check_status'] != 3) { if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }

View File

@ -12,31 +12,31 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\project; namespace app\adminapi\logic\project;
use app\common\model\auth\Admin; use app\common\logic\BaseLogic;
use app\common\model\bank\BankAccount; use app\common\model\auth\Admin;
use app\common\model\dict\DictData; use app\common\model\bank\BankAccount;
use app\common\model\oa\FlowApprove; use app\common\model\dict\DictData;
use app\common\model\project\Project; use app\common\model\oa\FlowApprove;
use app\common\model\project\ProjectLoanApply; use app\common\model\project\Project;
use app\common\model\project\ProjectManagerAppointment; use app\common\model\project\ProjectLoanApply;
use app\common\model\project\ProjectTravelReimbursement; use app\common\model\project\ProjectManagerAppointment;
use app\common\logic\BaseLogic; use app\common\model\project\ProjectTravelReimbursement;
use app\common\model\project\ProjectTravelReimbursementDetail; use app\common\model\project\ProjectTravelReimbursementDetail;
use app\common\model\project\ProjectTravelReimbursementInvoiceDetail; use app\common\model\project\ProjectTravelReimbursementInvoiceDetail;
use app\common\model\project\ProjectTripApply; use app\common\model\project\ProjectTripApply;
use think\facade\Db; use think\facade\Db;
/** /**
* 差旅报销逻辑 * 差旅报销逻辑
* Class ProjectTravelReimbursementLogic * Class ProjectTravelReimbursementLogic
* @package app\adminapi\logic\project * @package app\adminapi\logic\project
*/ */
class ProjectTravelReimbursementLogic extends BaseLogic class ProjectTravelReimbursementLogic extends BaseLogic
{ {
/** /**
@ -46,11 +46,11 @@ class ProjectTravelReimbursementLogic extends BaseLogic
* @author likeadmin * @author likeadmin
* @date 2024/01/18 13:57 * @date 2024/01/18 13:57
*/ */
public static function add(array $params,$admin_id): bool public static function add(array $params, $admin_id): bool
{ {
$trip_apply = ProjectTripApply::field('project_id')->where('id',$params['trip_apply_id'])->findOrEmpty(); $trip_apply = ProjectTripApply::field('project_id')->where('id', $params['trip_apply_id'])->findOrEmpty();
//获取税率 //获取税率
$tax_rate = DictData::where('type_value','tax_rate')->column('name','value'); $tax_rate = DictData::where('type_value', 'tax_rate')->column('name', 'value');
Db::startTrans(); Db::startTrans();
try { try {
$res = ProjectTravelReimbursement::create([ $res = ProjectTravelReimbursement::create([
@ -69,7 +69,7 @@ class ProjectTravelReimbursementLogic extends BaseLogic
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'bank_account_id' => $params['bank_account_id'], 'bank_account_id' => $params['bank_account_id'],
]); ]);
foreach($params['reimbursement_detail'] as $item){ foreach ($params['reimbursement_detail'] as $item) {
ProjectTravelReimbursementDetail::create([ ProjectTravelReimbursementDetail::create([
'travel_reimbursement_id' => $res->id, 'travel_reimbursement_id' => $res->id,
'project_cost_temp_id' => $item['project_cost_temp_id'], 'project_cost_temp_id' => $item['project_cost_temp_id'],
@ -82,7 +82,7 @@ class ProjectTravelReimbursementLogic extends BaseLogic
'remark' => $item['remark'] ?? '', 'remark' => $item['remark'] ?? '',
]); ]);
} }
foreach($params['invoice_detail'] as $item){ foreach ($params['invoice_detail'] as $item) {
ProjectTravelReimbursementInvoiceDetail::create([ ProjectTravelReimbursementInvoiceDetail::create([
'travel_reimbursement_id' => $res->id, 'travel_reimbursement_id' => $res->id,
'invoice_type' => $item['invoice_type'], 'invoice_type' => $item['invoice_type'],
@ -114,9 +114,9 @@ class ProjectTravelReimbursementLogic extends BaseLogic
*/ */
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
$trip_apply = ProjectTripApply::field('project_id')->where('id',$params['trip_apply_id'])->findOrEmpty(); $trip_apply = ProjectTripApply::field('project_id')->where('id', $params['trip_apply_id'])->findOrEmpty();
//获取税率 //获取税率
$tax_rate = DictData::where('type_value','tax_rate')->column('name','value'); $tax_rate = DictData::where('type_value', 'tax_rate')->column('name', 'value');
Db::startTrans(); Db::startTrans();
try { try {
ProjectTravelReimbursement::where('id', $params['id'])->update([ ProjectTravelReimbursement::where('id', $params['id'])->update([
@ -135,9 +135,9 @@ class ProjectTravelReimbursementLogic extends BaseLogic
'bank_account_id' => $params['bank_account_id'], 'bank_account_id' => $params['bank_account_id'],
'update_time' => time(), 'update_time' => time(),
]); ]);
foreach($params['reimbursement_detail'] as $item){ foreach ($params['reimbursement_detail'] as $item) {
if(isset($item['id']) && $item['id'] != ''){ if (isset($item['id']) && $item['id'] != '') {
ProjectTravelReimbursementDetail::where('id',$item['id'])->update([ ProjectTravelReimbursementDetail::where('id', $item['id'])->update([
'travel_reimbursement_id' => $params['id'], 'travel_reimbursement_id' => $params['id'],
'project_cost_temp_id' => $item['project_cost_temp_id'], 'project_cost_temp_id' => $item['project_cost_temp_id'],
'traffic_fee' => $item['traffic_fee'] ?? 0, 'traffic_fee' => $item['traffic_fee'] ?? 0,
@ -149,7 +149,7 @@ class ProjectTravelReimbursementLogic extends BaseLogic
'remark' => $item['remark'] ?? '', 'remark' => $item['remark'] ?? '',
'update_time' => time(), 'update_time' => time(),
]); ]);
}else{ } else {
ProjectTravelReimbursementDetail::create([ ProjectTravelReimbursementDetail::create([
'travel_reimbursement_id' => $params['id'], 'travel_reimbursement_id' => $params['id'],
'project_cost_temp_id' => $item['project_cost_temp_id'], 'project_cost_temp_id' => $item['project_cost_temp_id'],
@ -163,9 +163,9 @@ class ProjectTravelReimbursementLogic extends BaseLogic
]); ]);
} }
} }
foreach($params['invoice_detail'] as $item){ foreach ($params['invoice_detail'] as $item) {
if(isset($item['id']) && $item['id'] != ''){ if (isset($item['id']) && $item['id'] != '') {
ProjectTravelReimbursementInvoiceDetail::where('id',$item['id'])->update([ ProjectTravelReimbursementInvoiceDetail::where('id', $item['id'])->update([
'travel_reimbursement_id' => $params['id'], 'travel_reimbursement_id' => $params['id'],
'invoice_type' => $item['invoice_type'], 'invoice_type' => $item['invoice_type'],
'invoice_sn' => $item['invoice_sn'], 'invoice_sn' => $item['invoice_sn'],
@ -177,7 +177,7 @@ class ProjectTravelReimbursementLogic extends BaseLogic
'remark' => $item['remark'] ?? '', 'remark' => $item['remark'] ?? '',
'update_time' => time(), 'update_time' => time(),
]); ]);
}else{ } else {
ProjectTravelReimbursementInvoiceDetail::create([ ProjectTravelReimbursementInvoiceDetail::create([
'travel_reimbursement_id' => $params['id'], 'travel_reimbursement_id' => $params['id'],
'invoice_type' => $item['invoice_type'], 'invoice_type' => $item['invoice_type'],
@ -212,8 +212,8 @@ class ProjectTravelReimbursementLogic extends BaseLogic
{ {
Db::startTrans(); Db::startTrans();
try { try {
$travel_reimbursement_detail_ids = ProjectTravelReimbursementDetail::where('travel_reimbursement_id',$params['id'])->column('id'); $travel_reimbursement_detail_ids = ProjectTravelReimbursementDetail::where('travel_reimbursement_id', $params['id'])->column('id');
$travel_reimbursement_invoice_detail_ids = ProjectTravelReimbursementInvoiceDetail::where('travel_reimbursement_id',$params['id'])->column('id'); $travel_reimbursement_invoice_detail_ids = ProjectTravelReimbursementInvoiceDetail::where('travel_reimbursement_id', $params['id'])->column('id');
ProjectTravelReimbursement::destroy($params['id']); ProjectTravelReimbursement::destroy($params['id']);
ProjectTravelReimbursementDetail::destroy($travel_reimbursement_detail_ids); ProjectTravelReimbursementDetail::destroy($travel_reimbursement_detail_ids);
ProjectTravelReimbursementInvoiceDetail::destroy($travel_reimbursement_invoice_detail_ids); ProjectTravelReimbursementInvoiceDetail::destroy($travel_reimbursement_invoice_detail_ids);
@ -239,34 +239,35 @@ class ProjectTravelReimbursementLogic extends BaseLogic
$field = 'id,trip_apply_id,project_id,trip_reimbursement_code,reimbursement_type,loan_apply_id,offset_loan_amount,apply_user,apply_date,payee_name,payee_bank,payee_account,remark,annex,bank_account_id,approve_id'; $field = 'id,trip_apply_id,project_id,trip_reimbursement_code,reimbursement_type,loan_apply_id,offset_loan_amount,apply_user,apply_date,payee_name,payee_bank,payee_account,remark,annex,bank_account_id,approve_id';
$data = ProjectTravelReimbursement::field($field) $data = ProjectTravelReimbursement::field($field)
->findOrEmpty($params['id']); ->findOrEmpty($params['id']);
$trip_apply = ProjectTripApply::field('trip_apply_code')->where('id',$data['trip_apply_id'])->findOrEmpty(); $trip_apply = ProjectTripApply::field('trip_apply_code')->where('id', $data['trip_apply_id'])->findOrEmpty();
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$manager = ProjectManagerAppointment::field('project_manager')->where('project_id',$data['project_id'])->findOrEmpty(); $manager = ProjectManagerAppointment::field('project_manager')->where('project_id', $data['project_id'])->findOrEmpty();
$loan_apply = ProjectLoanApply::field('loan_apply_code,loan_amount')->where('id',$data['loan_apply_id'])->findOrEmpty(); $loan_apply = ProjectLoanApply::field('loan_apply_code,loan_amount')->where('id', $data['loan_apply_id'])->findOrEmpty();
$data['trip_apply_code'] = $trip_apply['trip_apply_code']; $data['trip_apply_code'] = $trip_apply['trip_apply_code'];
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
if($manager->isEmpty()){ if ($manager->isEmpty()) {
$data['project_manager'] = ''; $data['project_manager'] = '';
}else{ } else {
$admin = Admin::field('name')->where('id',$manager['project_manager'])->findOrEmpty(); $admin = Admin::field('name')->where('id', $manager['project_manager'])->findOrEmpty();
$data['project_manager'] = $admin['name']; $data['project_manager'] = $admin['name'];
} }
$data['loan_apply_code'] = !$loan_apply->isEmpty() ? $loan_apply['loan_apply_code'] : '---'; $data['loan_apply_code'] = !$loan_apply->isEmpty() ? $loan_apply['loan_apply_code'] : '---';
$data['loan_amount'] = !$loan_apply->isEmpty() ? $loan_apply['loan_amount'] : '---'; $data['loan_amount'] = !$loan_apply->isEmpty() ? $loan_apply['loan_amount'] : '---';
$data['reimbursement_type_text'] = $data->reimbursement_type_text; $data['reimbursement_type_text'] = $data->reimbursement_type_text;
$data['total_amount'] = ProjectTravelReimbursementDetail::where('travel_reimbursement_id',$data['id'])->sum('total_amount'); $data['total_amount'] = ProjectTravelReimbursementDetail::where('travel_reimbursement_id', $data['id'])->sum('total_amount');
$data['pay_amount'] = $data['total_amount'] - $data['offset_loan_amount']; $data['pay_amount'] = $data['total_amount'] - $data['offset_loan_amount'];
$data['bank_account'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id',$data['bank_account_id'])->findOrEmpty(); $data['bank_account'] = BankAccount::field('account_sn,deposit_bank,account_name,account')->where('id', $data['bank_account_id'])->findOrEmpty();
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = ProjectTravelReimbursement::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = ProjectTravelReimbursement::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -280,8 +281,8 @@ class ProjectTravelReimbursementLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
ProjectTravelReimbursement::where('id',$params['id'])->update([ ProjectTravelReimbursement::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -293,4 +294,4 @@ class ProjectTravelReimbursementLogic extends BaseLogic
return false; return false;
} }
} }
} }

View File

@ -12,25 +12,25 @@
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\project; namespace app\adminapi\logic\project;
use app\common\model\auth\Admin; use app\common\logic\BaseLogic;
use app\common\model\oa\FlowApprove; use app\common\model\auth\Admin;
use app\common\model\project\Project; use app\common\model\oa\FlowApprove;
use app\common\model\project\ProjectManagerAppointment; use app\common\model\project\Project;
use app\common\model\project\ProjectTripApply; use app\common\model\project\ProjectManagerAppointment;
use app\common\logic\BaseLogic; use app\common\model\project\ProjectTripApply;
use think\facade\Db; use think\facade\Db;
/** /**
* 出差申请逻辑 * 出差申请逻辑
* Class ProjectTripApplyLogic * Class ProjectTripApplyLogic
* @package app\adminapi\logic\project * @package app\adminapi\logic\project
*/ */
class ProjectTripApplyLogic extends BaseLogic class ProjectTripApplyLogic extends BaseLogic
{ {
/** /**
@ -40,7 +40,7 @@ class ProjectTripApplyLogic extends BaseLogic
* @author likeadmin * @author likeadmin
* @date 2024/01/17 09:22 * @date 2024/01/17 09:22
*/ */
public static function add(array $params,$admin_id): bool public static function add(array $params, $admin_id): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
@ -53,7 +53,7 @@ class ProjectTripApplyLogic extends BaseLogic
'start_date' => strtotime($params['start_date']), 'start_date' => strtotime($params['start_date']),
'end_date' => strtotime($params['end_date']), 'end_date' => strtotime($params['end_date']),
'reason' => $params['reason'] ?? '', 'reason' => $params['reason'] ?? '',
'days' => daysBetweenDates($params['start_date'],$params['end_date']), 'days' => daysBetweenDates($params['start_date'], $params['end_date']),
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); ]);
@ -86,7 +86,7 @@ class ProjectTripApplyLogic extends BaseLogic
'start_date' => strtotime($params['start_date']), 'start_date' => strtotime($params['start_date']),
'end_date' => strtotime($params['end_date']), 'end_date' => strtotime($params['end_date']),
'reason' => $params['reason'] ?? '', 'reason' => $params['reason'] ?? '',
'days' => daysBetweenDates($params['start_date'],$params['end_date']), 'days' => daysBetweenDates($params['start_date'], $params['end_date']),
'remark' => $params['remark'] ?? '', 'remark' => $params['remark'] ?? '',
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'update_time' => time() 'update_time' => time()
@ -125,26 +125,27 @@ class ProjectTripApplyLogic extends BaseLogic
{ {
$data = ProjectTripApply::field('id,project_id,trip_apply_code,origin_address,target_address,traffic,start_date,end_date,reason,days,remark,annex,approve_id') $data = ProjectTripApply::field('id,project_id,trip_apply_code,origin_address,target_address,traffic,start_date,end_date,reason,days,remark,annex,approve_id')
->findOrEmpty($params['id']); ->findOrEmpty($params['id']);
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty(); $project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$manager = ProjectManagerAppointment::field('project_manager')->where('project_id',$data['project_id'])->findOrEmpty(); $manager = ProjectManagerAppointment::field('project_manager')->where('project_id', $data['project_id'])->findOrEmpty();
$data['traffic_text'] = $data->traffic_text; $data['traffic_text'] = $data->traffic_text;
$data['project_name'] = $project['name']; $data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code']; $data['project_code'] = $project['project_code'];
if($manager->isEmpty()){ if ($manager->isEmpty()) {
$data['project_manager'] = ''; $data['project_manager'] = '';
}else{ } else {
$admin = Admin::field('name')->where('id',$manager['project_manager'])->findOrEmpty(); $admin = Admin::field('name')->where('id', $manager['project_manager'])->findOrEmpty();
$data['project_manager'] = $admin['name']; $data['project_manager'] = $admin['name'];
} }
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
$data['approve_check_status'] = $approve_data['check_status']; $data['approve_check_status'] = $approve_data['check_status'];
return $data->toArray(); return $data->toArray();
} }
public static function approve($params,$admin_id): bool{ public static function approve($params, $admin_id): bool
$data = ProjectTripApply::where('id',$params['id'])->findOrEmpty(); {
$approve_data = FlowApprove::where('id',$data['approve_id'])->findOrEmpty(); $data = ProjectTripApply::where('id', $params['id'])->findOrEmpty();
if(!empty($data['approve_id']) && $approve_data['check_status'] != 3){ $approve_data = FlowApprove::where('id', $data['approve_id'])->findOrEmpty();
if ((!empty($data['approve_id']) && $approve_data['check_status'] != 3) || (!empty($data['approve_id']) && $approve_data['check_status'] != 4)) {
self::setError('当前内容存在审核信息,请勿重复提交'); self::setError('当前内容存在审核信息,请勿重复提交');
return false; return false;
} }
@ -158,8 +159,8 @@ class ProjectTripApplyLogic extends BaseLogic
$params['flow_id'], $params['flow_id'],
$admin_id $admin_id
); );
if($res){ if ($res) {
ProjectTripApply::where('id',$params['id'])->update([ ProjectTripApply::where('id', $params['id'])->update([
'approve_id' => $res, 'approve_id' => $res,
]); ]);
} }
@ -171,4 +172,4 @@ class ProjectTripApplyLogic extends BaseLogic
return false; return false;
} }
} }
} }