diff --git a/app/adminapi/controller/cost_project/CostApprovedProjectController.php b/app/adminapi/controller/cost_project/CostApprovedProjectController.php index 964eea9c3..9fd17f7a4 100644 --- a/app/adminapi/controller/cost_project/CostApprovedProjectController.php +++ b/app/adminapi/controller/cost_project/CostApprovedProjectController.php @@ -11,107 +11,148 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - - -namespace app\adminapi\controller\cost_project; - - -use app\adminapi\controller\BaseAdminController; -use app\adminapi\lists\cost_project\CostApprovedProjectLists; -use app\adminapi\logic\cost_project\CostApprovedProjectLogic; -use app\adminapi\logic\cost_project\CostProjectLogic; -use app\adminapi\validate\cost_project\CostApprovedProjectValidate; - - -/** - * 待立项造价项目控制器 - * Class CostApprovedProjectController - * @package app\adminapi\controller\cost_project - */ -class CostApprovedProjectController extends BaseAdminController -{ - - - /** - * @notes 获取待立项造价项目列表 - * @return \think\response\Json - * @author likeadmin - * @date 2024/02/20 14:16 - */ - public function lists() - { - return $this->dataLists(new CostApprovedProjectLists()); - } - - - /** - * @notes 添加待立项造价项目 - * @return \think\response\Json - * @author likeadmin - * @date 2024/02/20 14:16 - */ - public function add() - { - $params = (new CostApprovedProjectValidate())->post()->goCheck('add'); - $result = CostApprovedProjectLogic::add($params); - if (true === $result) { - return $this->success('添加成功', [], 1, 1); - } - return $this->fail(CostApprovedProjectLogic::getError()); - } - - - /** - * @notes 编辑待立项造价项目 - * @return \think\response\Json - * @author likeadmin - * @date 2024/02/20 14:16 - */ - public function edit() - { - $params = (new CostApprovedProjectValidate())->post()->goCheck('edit'); - $result = CostApprovedProjectLogic::edit($params); - if (true === $result) { - return $this->success('编辑成功', [], 1, 1); - } - return $this->fail(CostApprovedProjectLogic::getError()); - } - - - /** - * @notes 删除待立项造价项目 - * @return \think\response\Json - * @author likeadmin - * @date 2024/02/20 14:16 - */ - public function delete() - { - $params = (new CostApprovedProjectValidate())->post()->goCheck('delete'); - $result = CostApprovedProjectLogic::delete($params); - if (true === $result) { - return $this->success('删除成功', [], 1, 1); - } - return $this->fail(CostApprovedProjectLogic::getError()); - } - - - /** - * @notes 获取待立项造价项目详情 - * @return \think\response\Json - * @author likeadmin - * @date 2024/02/20 14:16 - */ - public function detail() - { - $params = (new CostApprovedProjectValidate())->goCheck('detail'); - $result = CostApprovedProjectLogic::detail($params); - return $this->data($result); - } - - public function createProject() - { - $params = $this->request->param(); - $data = CostApprovedProjectLogic::detail($params); - $re = CostProjectLogic::createProject($data); - } -} \ No newline at end of file + + + namespace app\adminapi\controller\cost_project; + + + use app\adminapi\controller\BaseAdminController; + use app\adminapi\lists\cost_project\CostApprovedProjectLists; + use app\adminapi\logic\cost_project\CostApprovedProjectLogic; + use app\adminapi\logic\cost_project\CostProjectLogic; + use app\adminapi\validate\cost_project\CostApprovedProjectValidate; + use app\common\model\cost_project\CostApprovedProject; + use app\common\model\financial\FinancialInvoice; + use app\common\model\financial\FinancialRefund; + + + /** + * 待立项造价项目控制器 + * Class CostApprovedProjectController + * @package app\adminapi\controller\cost_project + */ + class CostApprovedProjectController extends BaseAdminController + { + + + /** + * @notes 获取待立项造价项目列表 + * @return \think\response\Json + * @author likeadmin + * @date 2024/02/20 14:16 + */ + public function lists() + { + return $this->dataLists(new CostApprovedProjectLists()); + } + + public function ledger(): \think\response\Json + { + $params = $this->request->get(); + $where = []; + $page_no = !empty($params['page_no']) ? $params['page_no'] : 1; + $page_size = !empty($params['page_size']) ? $params['page_size'] : 15; + if (!empty($params['contract_name'])) { + $contract_ids1 = CostApprovedProject::where('contract_name', 'like', '%' . $params['contract_name'] . '%')->column('id'); + $where[] = ['contract_id', 'in', $contract_ids1]; + } + if (!empty($params['contract_num'])) { + $contract_ids2 = CostApprovedProject::where('contract_num', 'like', '%' . $params['contract_num'] . '%')->column('id'); + $where[] = ['contract_id', 'in', $contract_ids2]; + } + if (!empty($params['part_b'])) { + $contract_ids3 = CostApprovedProject::where('part_b', 'like', '%' . $params['part_b'] . '%')->column('id'); + $where[] = ['contract_id', 'in', $contract_ids3]; + } + if (!empty($params['contract_type'])) { + $where[] = ['contract_type', '=', $params['contract_type']]; + } + $lists = CostApprovedProject::field('id,contract_num,contract_name,contract_type,business_nature,part_a,money,dept,create_date') + ->where($where) + ->page($page_no, $page_size) + ->order('id desc') + ->select() + ->each(function ($data) { + //开票金额 + $data['total_invoice_amount'] = FinancialInvoice::where('contract_id', $data['id'])->sum('apply_amount'); + //到账金额 + $data['total_refund_amount'] = FinancialRefund::where('contract_id', $data['id'])->sum('amount'); + //结算金额 +// $data['total_settlement_amount'] = FinancialSettlement::where('contract_id',$data['id'])->sum('amount'); + }) + ->toArray(); + $count = CostApprovedProject::where($where)->count(); + return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size')); + } + + + /** + * @notes 添加待立项造价项目 + * @return \think\response\Json + * @author likeadmin + * @date 2024/02/20 14:16 + */ + public function add() + { + $params = (new CostApprovedProjectValidate())->post()->goCheck('add'); + $result = CostApprovedProjectLogic::add($params); + if (true === $result) { + return $this->success('添加成功', [], 1, 1); + } + return $this->fail(CostApprovedProjectLogic::getError()); + } + + + /** + * @notes 编辑待立项造价项目 + * @return \think\response\Json + * @author likeadmin + * @date 2024/02/20 14:16 + */ + public function edit() + { + $params = (new CostApprovedProjectValidate())->post()->goCheck('edit'); + $result = CostApprovedProjectLogic::edit($params); + if (true === $result) { + return $this->success('编辑成功', [], 1, 1); + } + return $this->fail(CostApprovedProjectLogic::getError()); + } + + + /** + * @notes 删除待立项造价项目 + * @return \think\response\Json + * @author likeadmin + * @date 2024/02/20 14:16 + */ + public function delete() + { + $params = (new CostApprovedProjectValidate())->post()->goCheck('delete'); + $result = CostApprovedProjectLogic::delete($params); + if (true === $result) { + return $this->success('删除成功', [], 1, 1); + } + return $this->fail(CostApprovedProjectLogic::getError()); + } + + public function createProject() + { + $params = $this->request->param(); + $data = CostApprovedProjectLogic::detail($params); + $re = CostProjectLogic::createProject($data); + } + + /** + * @notes 获取待立项造价项目详情 + * @return \think\response\Json + * @author likeadmin + * @date 2024/02/20 14:16 + */ + public function detail() + { + $params = (new CostApprovedProjectValidate())->goCheck('detail'); + $result = CostApprovedProjectLogic::detail($params); + return $this->data($result); + } + } \ No newline at end of file