This commit is contained in:
weiz 2024-03-18 10:54:12 +08:00
parent cfcce13191
commit 23b121d499
10 changed files with 94 additions and 26 deletions

View File

@ -8,7 +8,11 @@ use app\common\model\cost_project\CostProject;
use app\common\model\cost_project\CostProjectPerson; use app\common\model\cost_project\CostProjectPerson;
use app\common\model\DataReception; use app\common\model\DataReception;
use app\common\model\dept\Dept; use app\common\model\dept\Dept;
use app\common\model\GeoCity;
use app\common\model\GeoProvince;
use app\common\model\project_process_management\JianliProjectProgressReport;
use app\common\model\ProjectCommission; use app\common\model\ProjectCommission;
use app\common\model\ProjectCommissionDetail;
use app\common\model\task\TaskAllocation; use app\common\model\task\TaskAllocation;
use app\common\model\TaskHandlingThreeLevelReview; use app\common\model\TaskHandlingThreeLevelReview;
use app\common\model\zjzx_finance\ZjzxInvoice; use app\common\model\zjzx_finance\ZjzxInvoice;
@ -171,7 +175,6 @@ class CostConsultationReportController extends BaseAdminController
/** /**
* 项目部门分布 * 项目部门分布
*/ */
public function distribution_project_departments() public function distribution_project_departments()
{ {
@ -222,8 +225,58 @@ class CostConsultationReportController extends BaseAdminController
if(!empty($params['project_name'])){ if(!empty($params['project_name'])){
$where[] = ['project_name','like','%'.$params['project_name'].'%']; $where[] = ['project_name','like','%'.$params['project_name'].'%'];
} }
// if(!empty($params['date'])){ if(!empty($params['date'])){
// $date = explode(',',$params['date']);
// } $where[] = ['apptime','between',[$date]];
}
$lists = ProjectCommission::field('id,project_id')->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function($data){
$project = CostProject::field('project_name,project_num,contract_id')->where('id',$data['project_id'])->findOrEmpty();
$contract = CostApprovedProject::field('contract_name')->where('id',$project['contract_id'])->findOrEmpty();
$data['project_num'] = $project['project_num'];
$data['project_name'] = $project['project_name'];
$data['contract_name'] = $contract['contract_name'];
$data['children'] = ProjectCommissionDetail::withoutField('engineer_id,remark,create_time,update_time,delete_time')
->where('project_commission_id',$data['id'])->select()->each(function($data){
$data['task_type'] = $data->task_type_text;
$data['professional_type'] = $data->professional_type_text;
})->toArray();
})->toArray();
$count = ProjectCommission::where($where)->count();
return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size'));
}
//项目进度统计
public function project_schedule_statistics(){
$params = $this->request->get();
$page_no = !empty($params['page_no']) ? $params['page_no'] : 1;
$page_size = !empty($params['page_size']) ? $params['page_size'] : 15;
$where = [];
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['project_name'])){
$where[] = ['project_name','like','%'.$params['project_name'].'%'];
}
$lists = CostProject::field('id,contract_id,project_num,project_name,types,aunit,province,city,starting,endtime,jhgq')
->where($where)->page($page_no, $page_size)->order('id desc')->select()->each(function($data){
$contract = CostApprovedProject::field('contract_name,industry_nature,project_director')->where('id',$data['contract_id'])->findOrEmpty();
$province = GeoProvince::field('province_name')->where('province_code',$data['province'])->findOrEmpty();
$city = GeoCity::field('city_name')->where('city_code',$data['city'])->findOrEmpty();
$schedule = JianliProjectProgressReport::field('start_date,end_date,duration,done_progress')->where('project_id',$data['id'])->findOrEmpty();
$data['contract_name'] = $contract['contract_name'];
$data['project_director'] = $contract['project_director'];
$data['types'] = $data->types_text;
$data['industry_nature'] = $contract->industry_nature_text;
$data['project_director'] = $contract['project_director'];
$data['province'] = $province['province_name'];
$data['city'] = $city['city_name'];
$data['actual_starting'] = $schedule['start_date'];
$data['actual_endtime'] = $schedule['end_date'];
$data['duration'] = $schedule['duration'];
$data['done_progress'] = $schedule['done_progress'];
})->toArray();
$count = CostProject::where($where)->count();
return $this->success('成功', compact('count', 'lists', 'page_no', 'page_size'));
} }
} }

View File

@ -52,7 +52,7 @@ class SupervisionSafetyManagementPersonnelController extends BaseAdminController
public function add() public function add()
{ {
$params = (new SupervisionSafetyManagementPersonnelValidate())->post()->goCheck('add'); $params = (new SupervisionSafetyManagementPersonnelValidate())->post()->goCheck('add');
$result = SupervisionSafetyManagementPersonnelLogic::add($params,$this->adminId); $result = SupervisionSafetyManagementPersonnelLogic::add($params);
if (true === $result) { if (true === $result) {
return $this->success('添加成功', [], 1, 1); return $this->success('添加成功', [], 1, 1);
} }

View File

@ -52,7 +52,7 @@ class SupervisionSpecialOperationPersonnelController extends BaseAdminController
public function add() public function add()
{ {
$params = (new SupervisionSpecialOperationPersonnelValidate())->post()->goCheck('add'); $params = (new SupervisionSpecialOperationPersonnelValidate())->post()->goCheck('add');
$result = SupervisionSpecialOperationPersonnelLogic::add($params,$this->adminId); $result = SupervisionSpecialOperationPersonnelLogic::add($params);
if (true === $result) { if (true === $result) {
return $this->success('添加成功', [], 1, 1); return $this->success('添加成功', [], 1, 1);
} }

View File

@ -16,7 +16,6 @@ namespace app\adminapi\lists\supervision_qualification_review;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\auth\Admin;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\model\supervision_qualification_review\SupervisionParticipatingUnitsQualifications; use app\common\model\supervision_qualification_review\SupervisionParticipatingUnitsQualifications;
use app\common\model\supervision_qualification_review\SupervisionSafetyManagementPersonnel; use app\common\model\supervision_qualification_review\SupervisionSafetyManagementPersonnel;
@ -64,9 +63,7 @@ class SupervisionSafetyManagementPersonnelLists extends BaseAdminDataLists imple
->select()->each(function($data){ ->select()->each(function($data){
$unit_qualification = SupervisionParticipatingUnitsQualifications::field('company_id')->where('id',$data['unit_qualification_id'])->findOrEmpty(); $unit_qualification = SupervisionParticipatingUnitsQualifications::field('company_id')->where('id',$data['unit_qualification_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$unit_qualification['company_id'])->findOrEmpty(); $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$unit_qualification['company_id'])->findOrEmpty();
$admin = Admin::field('name')->where('id',$data['create_user'])->findOrEmpty();
$data['company_name'] = $company['unit_name']; $data['company_name'] = $company['unit_name'];
$data['create_user_name'] = $admin['name'];
$data['qualification_one_status_text'] = $data->qualification_one_status_text; $data['qualification_one_status_text'] = $data->qualification_one_status_text;
$data['qualification_two_status_text'] = $data->qualification_two_status_text; $data['qualification_two_status_text'] = $data->qualification_two_status_text;
}) })

View File

@ -16,7 +16,6 @@ namespace app\adminapi\lists\supervision_qualification_review;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\auth\Admin;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\model\supervision_qualification_review\SupervisionParticipatingUnitsQualifications; use app\common\model\supervision_qualification_review\SupervisionParticipatingUnitsQualifications;
use app\common\model\supervision_qualification_review\SupervisionSpecialOperationPersonnel; use app\common\model\supervision_qualification_review\SupervisionSpecialOperationPersonnel;
@ -64,9 +63,7 @@ class SupervisionSpecialOperationPersonnelLists extends BaseAdminDataLists imple
->select()->each(function($data){ ->select()->each(function($data){
$unit_qualification = SupervisionParticipatingUnitsQualifications::field('company_id')->where('id',$data['unit_qualification_id'])->findOrEmpty(); $unit_qualification = SupervisionParticipatingUnitsQualifications::field('company_id')->where('id',$data['unit_qualification_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$unit_qualification['company_id'])->findOrEmpty(); $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$unit_qualification['company_id'])->findOrEmpty();
$admin = Admin::field('name')->where('id',$data['create_user'])->findOrEmpty();
$data['company_name'] = $company['unit_name']; $data['company_name'] = $company['unit_name'];
$data['create_user_name'] = $admin['name'];
$data['status_text'] = $data->status_text; $data['status_text'] = $data->status_text;
}) })
->toArray(); ->toArray();

View File

@ -47,8 +47,8 @@ class JianliProjectProgressReportLogic extends BaseLogic
'bm_master' => $params['bm_master'], 'bm_master' => $params['bm_master'],
'wt_unit' => $params['wt_unit'], 'wt_unit' => $params['wt_unit'],
'xm_master' => $params['xm_master'], 'xm_master' => $params['xm_master'],
'start_date' => $params['start_date'], 'start_date' => !empty($params['start_date']) ? strtotime($params['start_date']) : 0,
'end_date' => $params['end_date'], 'end_date' => !empty($params['end_date']) ? strtotime($params['end_date']) : 0,
'duration' => $params['duration'], 'duration' => $params['duration'],
'working_hours' => $params['working_hours'], 'working_hours' => $params['working_hours'],
'done_progress' => $params['done_progress'], 'done_progress' => $params['done_progress'],
@ -86,8 +86,8 @@ class JianliProjectProgressReportLogic extends BaseLogic
'bm_master' => $params['bm_master'], 'bm_master' => $params['bm_master'],
'wt_unit' => $params['wt_unit'], 'wt_unit' => $params['wt_unit'],
'xm_master' => $params['xm_master'], 'xm_master' => $params['xm_master'],
'start_date' => $params['start_date'], 'start_date' => !empty($params['start_date']) ? strtotime($params['start_date']) : 0,
'end_date' => $params['end_date'], 'end_date' => !empty($params['end_date']) ? strtotime($params['end_date']) : 0,
'duration' => $params['duration'], 'duration' => $params['duration'],
'working_hours' => $params['working_hours'], 'working_hours' => $params['working_hours'],
'done_progress' => $params['done_progress'], 'done_progress' => $params['done_progress'],

View File

@ -15,7 +15,6 @@
namespace app\adminapi\logic\supervision_qualification_review; namespace app\adminapi\logic\supervision_qualification_review;
use app\common\model\auth\Admin;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\model\supervision_qualification_review\SupervisionParticipatingUnitsQualifications; use app\common\model\supervision_qualification_review\SupervisionParticipatingUnitsQualifications;
use app\common\model\supervision_qualification_review\SupervisionSafetyManagementPersonnel; use app\common\model\supervision_qualification_review\SupervisionSafetyManagementPersonnel;
@ -39,7 +38,7 @@ class SupervisionSafetyManagementPersonnelLogic extends BaseLogic
* @author likeadmin * @author likeadmin
* @date 2024/02/26 11:30 * @date 2024/02/26 11:30
*/ */
public static function add(array $params,$admin_id): bool public static function add(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
@ -63,7 +62,8 @@ class SupervisionSafetyManagementPersonnelLogic extends BaseLogic
'qualification_two_status' => $params['qualification_two_status'], 'qualification_two_status' => $params['qualification_two_status'],
'remark' => $params['remark'], 'remark' => $params['remark'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_user' => $admin_id, 'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
]); ]);
Db::commit(); Db::commit();
return true; return true;
@ -106,6 +106,8 @@ class SupervisionSafetyManagementPersonnelLogic extends BaseLogic
'qualification_two_status' => $params['qualification_two_status'], 'qualification_two_status' => $params['qualification_two_status'],
'remark' => $params['remark'], 'remark' => $params['remark'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
'update_time' => time(), 'update_time' => time(),
]); ]);
Db::commit(); Db::commit();
@ -143,9 +145,7 @@ class SupervisionSafetyManagementPersonnelLogic extends BaseLogic
$data = SupervisionSafetyManagementPersonnel::withoutField('update_time,delete_time')->findOrEmpty($params['id']); $data = SupervisionSafetyManagementPersonnel::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$unit_qualification = SupervisionParticipatingUnitsQualifications::field('company_id')->where('id',$data['unit_qualification_id'])->findOrEmpty(); $unit_qualification = SupervisionParticipatingUnitsQualifications::field('company_id')->where('id',$data['unit_qualification_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$unit_qualification['company_id'])->findOrEmpty(); $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$unit_qualification['company_id'])->findOrEmpty();
$admin = Admin::field('name')->where('id',$data['create_user'])->findOrEmpty();
$data['company_name'] = $company['unit_name']; $data['company_name'] = $company['unit_name'];
$data['create_user_name'] = $admin['name'];
$data['qualification_one_status_text'] = $data->qualification_one_status_text; $data['qualification_one_status_text'] = $data->qualification_one_status_text;
$data['qualification_two_status_text'] = $data->qualification_two_status_text; $data['qualification_two_status_text'] = $data->qualification_two_status_text;
return $data->toArray(); return $data->toArray();

View File

@ -15,7 +15,6 @@
namespace app\adminapi\logic\supervision_qualification_review; namespace app\adminapi\logic\supervision_qualification_review;
use app\common\model\auth\Admin;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\model\supervision_qualification_review\SupervisionParticipatingUnitsQualifications; use app\common\model\supervision_qualification_review\SupervisionParticipatingUnitsQualifications;
use app\common\model\supervision_qualification_review\SupervisionSpecialOperationPersonnel; use app\common\model\supervision_qualification_review\SupervisionSpecialOperationPersonnel;
@ -39,7 +38,7 @@ class SupervisionSpecialOperationPersonnelLogic extends BaseLogic
* @author likeadmin * @author likeadmin
* @date 2024/02/26 11:45 * @date 2024/02/26 11:45
*/ */
public static function add(array $params,$admin_id): bool public static function add(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
@ -54,7 +53,8 @@ class SupervisionSpecialOperationPersonnelLogic extends BaseLogic
'status' => $params['status'], 'status' => $params['status'],
'remark' => $params['remark'], 'remark' => $params['remark'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_user' => $admin_id, 'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
]); ]);
Db::commit(); Db::commit();
return true; return true;
@ -88,6 +88,8 @@ class SupervisionSpecialOperationPersonnelLogic extends BaseLogic
'status' => $params['status'], 'status' => $params['status'],
'remark' => $params['remark'], 'remark' => $params['remark'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
'update_time' => time(), 'update_time' => time(),
]); ]);
Db::commit(); Db::commit();
@ -125,9 +127,7 @@ class SupervisionSpecialOperationPersonnelLogic extends BaseLogic
$data = SupervisionSpecialOperationPersonnel::withoutField('update_time,delete_time')->findOrEmpty($params['id']); $data = SupervisionSpecialOperationPersonnel::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$unit_qualification = SupervisionParticipatingUnitsQualifications::field('company_id')->where('id',$data['unit_qualification_id'])->findOrEmpty(); $unit_qualification = SupervisionParticipatingUnitsQualifications::field('company_id')->where('id',$data['unit_qualification_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$unit_qualification['company_id'])->findOrEmpty(); $company = SupervisionParticipatingUnits::field('unit_name')->where('id',$unit_qualification['company_id'])->findOrEmpty();
$admin = Admin::field('name')->where('id',$data['create_user'])->findOrEmpty();
$data['company_name'] = $company['unit_name']; $data['company_name'] = $company['unit_name'];
$data['create_user_name'] = $admin['name'];
$data['status_text'] = $data->status_text; $data['status_text'] = $data->status_text;
return $data->toArray(); return $data->toArray();
} }

View File

@ -16,6 +16,7 @@ namespace app\common\model;
use app\common\model\BaseModel; use app\common\model\BaseModel;
use app\common\model\dict\DictData;
use think\model\concern\SoftDelete; use think\model\concern\SoftDelete;
@ -34,4 +35,14 @@ class ProjectCommissionDetail extends BaseModel
{ {
return $this->belongsTo(ProjectCommission::class, 'project_commission_id', 'id'); return $this->belongsTo(ProjectCommission::class, 'project_commission_id', 'id');
} }
public function getTaskTypeTextAttr($value,$data){
$dict = DictData::where('type_value','task_type')->column('name','value');
return !empty($data['task_type']) ? $dict[$data['task_type']] : '';
}
public function getProfessionalTypeTextAttr($value,$data){
$dict = DictData::where('type_value','major_type')->column('name','value');
return !empty($data['professional_type']) ? $dict[$data['professional_type']] : '';
}
} }

View File

@ -35,4 +35,14 @@ class JianliProjectProgressReport extends BaseModel
{ {
return $this->hasOne(CostProject::class, 'id', 'project_id'); return $this->hasOne(CostProject::class, 'id', 'project_id');
} }
public function getStartDateAttr($value): string
{
return !empty($value) ? date('Y-m-d',$value) : '';
}
public function getEndDateAttr($value): string
{
return !empty($value) ? date('Y-m-d',$value) : '';
}
} }