This commit is contained in:
weiz 2024-03-25 16:59:46 +08:00
parent 09df951406
commit aa07e1d0ba

View File

@ -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);
}
}
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);
}
}