This commit is contained in:
weiz 2024-04-30 15:12:40 +08:00
parent 44489eea9d
commit 5d3258850f
23 changed files with 2779 additions and 2701 deletions

View File

@ -11,73 +11,76 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\supervision_prepare; namespace app\adminapi\lists\supervision_prepare;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\supervision_prepare\SupervisionPlanning; use app\common\lists\ListsSearchInterface;
use app\common\lists\ListsSearchInterface; use app\common\model\auth\Admin;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\supervision_prepare\SupervisionPlanning;
use app\common\model\supervision_project\SupervisionProject;
/**
* 工程监理--监理规划列表 /**
* Class SupervisionPlanningLists * 工程监理--监理规划列表
* @package app\adminapi\listssupervision_prepare * Class SupervisionPlanningLists
*/ * @package app\adminapi\listssupervision_prepare
class SupervisionPlanningLists extends BaseAdminDataLists implements ListsSearchInterface */
{ class SupervisionPlanningLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件 /**
* @return \string[][] * @notes 设置搜索条件
* @author likeadmin * @return \string[][]
* @date 2024/02/23 16:45 * @author likeadmin
*/ * @date 2024/02/23 16:45
public function setSearch(): array */
{ public function setSearch(): array
return [ {
'=' => ['project_id', 'approval_type'], return [
'%like%' => ['approval_user', 'scheme_name', 'create_user'], '=' => ['project_id', 'approval_type'],
]; '%like%' => ['approval_user', 'scheme_name', 'create_user'],
} ];
}
/**
* @notes 获取工程监理--监理规划列表 /**
* @return array * @notes 获取工程监理--监理规划列表
* @throws \think\db\exception\DataNotFoundException * @return array
* @throws \think\db\exception\DbException * @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\DbException
* @author likeadmin * @throws \think\db\exception\ModelNotFoundException
* @date 2024/02/23 16:45 * @author likeadmin
*/ * @date 2024/02/23 16:45
public function lists(): array */
{ public function lists(): array
return SupervisionPlanning::withoutField('update_time,delete_time')->where($this->searchWhere) {
->limit($this->limitOffset, $this->limitLength) return SupervisionPlanning::withoutField('update_time,delete_time')->where($this->searchWhere)
->order(['id' => 'desc']) ->limit($this->limitOffset, $this->limitLength)
->select()->each(function($data){ ->order(['id' => 'desc'])
$project = SupervisionProject::field('project_name,project_manager')->where('id',$data['project_id'])->findOrEmpty(); ->select()->each(function ($data) {
$data['project_name'] = $project['project_name']; $project = SupervisionProject::field('project_name,project_manager')->where('id', $data['project_id'])->findOrEmpty();
$data['project_manager'] = $project['project_manager']; $admin = Admin::field('name')->where('id', $data['approval_user'])->findOrEmpty();
$data['approval_type_text'] = $data->approval_type_text; $data['project_name'] = $project['project_name'];
}) $data['project_manager'] = $project['project_manager'];
->toArray(); $data['approval_type_text'] = $data->approval_type_text;
} $data['approval_user_name'] = $admin?->name;
})
->toArray();
/** }
* @notes 获取工程监理--监理规划数量
* @return int
* @author likeadmin /**
* @date 2024/02/23 16:45 * @notes 获取工程监理--监理规划数量
*/ * @return int
public function count(): int * @author likeadmin
{ * @date 2024/02/23 16:45
return SupervisionPlanning::where($this->searchWhere)->count(); */
} public function count(): int
{
} return SupervisionPlanning::where($this->searchWhere)->count();
}
}

View File

@ -11,78 +11,81 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\supervision_work; namespace app\adminapi\lists\supervision_work;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\lists\ListsSearchInterface;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionDeviceEntry; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\lists\ListsSearchInterface; use app\common\model\supervision_project\SupervisionProject;
use app\common\model\supervision_work\SupervisionProblem; use app\common\model\supervision_work\SupervisionDeviceEntry;
use app\common\model\supervision_work\SupervisionProblem;
/**
* 工程监理--设备进场列表 /**
* Class SupervisionDeviceEntryLists * 工程监理--设备进场列表
* @package app\adminapi\listssupervision_work * Class SupervisionDeviceEntryLists
*/ * @package app\adminapi\listssupervision_work
class SupervisionDeviceEntryLists extends BaseAdminDataLists implements ListsSearchInterface */
{ class SupervisionDeviceEntryLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件 /**
* @return \string[][] * @notes 设置搜索条件
* @author likeadmin * @return \string[][]
* @date 2024/02/28 16:12 * @author likeadmin
*/ * @date 2024/02/28 16:12
public function setSearch(): array */
{ public function setSearch(): array
return [ {
'=' => ['project_id', 'enter_result'], return [
'%like%' => ['code'], '=' => ['project_id', 'enter_result'],
]; '%like%' => ['code'],
} ];
}
/**
* @notes 获取工程监理--设备进场列表 /**
* @return array * @notes 获取工程监理--设备进场列表
* @throws \think\db\exception\DataNotFoundException * @return array
* @throws \think\db\exception\DbException * @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\DbException
* @author likeadmin * @throws \think\db\exception\ModelNotFoundException
* @date 2024/02/28 16:12 * @author likeadmin
*/ * @date 2024/02/28 16:12
public function lists(): array */
{ public function lists(): array
return SupervisionDeviceEntry::withoutField('update_time,delete_time')->where($this->searchWhere) {
->limit($this->limitOffset, $this->limitLength) return SupervisionDeviceEntry::withoutField('update_time,delete_time')->where($this->searchWhere)
->order(['id' => 'desc']) ->limit($this->limitOffset, $this->limitLength)
->select()->each(function($data){ ->order(['id' => 'desc'])
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); ->select()->each(function ($data) {
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty();
$data['company_name'] = $company['unit_name']; $admin = Admin::field('name')->where('id', $data['co_participant'])->findOrEmpty();
$data['enter_result_text'] = $data->enter_result_text; $data['project_name'] = $project['project_name'];
$data['problem_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',4)->count(); $data['company_name'] = $company['unit_name'];
$data['reply_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',4)->where('is_rectification',1)->count(); $data['enter_result_text'] = $data->enter_result_text;
}) $data['co_participant_name'] = $admin?->name;
->toArray(); $data['problem_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 4)->count();
} $data['reply_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 4)->where('is_rectification', 1)->count();
})
->toArray();
/** }
* @notes 获取工程监理--设备进场数量
* @return int
* @author likeadmin /**
* @date 2024/02/28 16:12 * @notes 获取工程监理--设备进场数量
*/ * @return int
public function count(): int * @author likeadmin
{ * @date 2024/02/28 16:12
return SupervisionDeviceEntry::where($this->searchWhere)->count(); */
} public function count(): int
{
} return SupervisionDeviceEntry::where($this->searchWhere)->count();
}
}

View File

@ -11,71 +11,75 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\supervision_work; namespace app\adminapi\lists\supervision_work;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\supervision_project\SupervisionProject; use app\common\lists\ListsSearchInterface;
use app\common\model\supervision_work\SupervisionDiary; use app\common\model\auth\Admin;
use app\common\lists\ListsSearchInterface; use app\common\model\supervision_project\SupervisionProject;
use app\common\model\supervision_work\SupervisionDiary;
/**
* 工程监理--监理日记列表 /**
* Class SupervisionDiaryLists * 工程监理--监理日记列表
* @package app\adminapi\listssupervision_work * Class SupervisionDiaryLists
*/ * @package app\adminapi\listssupervision_work
class SupervisionDiaryLists extends BaseAdminDataLists implements ListsSearchInterface */
{ class SupervisionDiaryLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件 /**
* @return \string[][] * @notes 设置搜索条件
* @author likeadmin * @return \string[][]
* @date 2024/03/01 13:53 * @author likeadmin
*/ * @date 2024/03/01 13:53
public function setSearch(): array */
{ public function setSearch(): array
return [ {
'=' => ['project_id'], return [
'%like%' => ['user', 'director'], '=' => ['project_id'],
]; '%like%' => ['user', 'director'],
} ];
}
/**
* @notes 获取工程监理--监理日记列表 /**
* @return array * @notes 获取工程监理--监理日记列表
* @throws \think\db\exception\DataNotFoundException * @return array
* @throws \think\db\exception\DbException * @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\DbException
* @author likeadmin * @throws \think\db\exception\ModelNotFoundException
* @date 2024/03/01 13:53 * @author likeadmin
*/ * @date 2024/03/01 13:53
public function lists(): array */
{ public function lists(): array
return SupervisionDiary::withoutField('create_time,update_time,delete_time')->where($this->searchWhere) {
->limit($this->limitOffset, $this->limitLength) return SupervisionDiary::withoutField('create_time,update_time,delete_time')->where($this->searchWhere)
->order(['id' => 'desc']) ->limit($this->limitOffset, $this->limitLength)
->select()->each(function($data){ ->order(['id' => 'desc'])
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); ->select()->each(function ($data) {
$data['project_name'] = $project['project_name']; $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
}) $admin = Admin::where('id', 'in', [$data['user'], $data['director']])->column('name', 'id');
->toArray(); $data['project_name'] = $project['project_name'];
} $data['user_name'] = $admin[$data['user']] ?? '';
$data['director_name'] = $admin[$data['director']] ?? '';
})
/** ->toArray();
* @notes 获取工程监理--监理日记数量 }
* @return int
* @author likeadmin
* @date 2024/03/01 13:53 /**
*/ * @notes 获取工程监理--监理日记数量
public function count(): int * @return int
{ * @author likeadmin
return SupervisionDiary::where($this->searchWhere)->count(); * @date 2024/03/01 13:53
} */
public function count(): int
} {
return SupervisionDiary::where($this->searchWhere)->count();
}
}

View File

@ -11,84 +11,87 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\supervision_work; namespace app\adminapi\lists\supervision_work;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\lists\ListsSearchInterface;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionCheckItem; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\model\supervision_work\SupervisionInspection; use app\common\model\supervision_project\SupervisionProject;
use app\common\lists\ListsSearchInterface; use app\common\model\supervision_work\SupervisionCheckItem;
use app\common\model\supervision_work\SupervisionProblem; use app\common\model\supervision_work\SupervisionInspection;
use app\common\model\supervision_work\SupervisionProblem;
/**
* 工程监理--巡视登记列表 /**
* Class SupervisionInspectionLists * 工程监理--巡视登记列表
* @package app\adminapi\listssupervision_work * Class SupervisionInspectionLists
*/ * @package app\adminapi\listssupervision_work
class SupervisionInspectionLists extends BaseAdminDataLists implements ListsSearchInterface */
{ class SupervisionInspectionLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件 /**
* @return \string[][] * @notes 设置搜索条件
* @author likeadmin * @return \string[][]
* @date 2024/02/26 17:18 * @author likeadmin
*/ * @date 2024/02/26 17:18
public function setSearch(): array */
{ public function setSearch(): array
return [ {
'=' => ['project_id', 'inspection_type'], return [
'%like%' => ['inspection_code'], '=' => ['project_id', 'inspection_type'],
]; '%like%' => ['inspection_code'],
} ];
}
/**
* @notes 获取工程监理--巡视登记列表 /**
* @return array * @notes 获取工程监理--巡视登记列表
* @throws \think\db\exception\DataNotFoundException * @return array
* @throws \think\db\exception\DbException * @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\DbException
* @author likeadmin * @throws \think\db\exception\ModelNotFoundException
* @date 2024/02/26 17:18 * @author likeadmin
*/ * @date 2024/02/26 17:18
public function lists(): array */
{ public function lists(): array
return SupervisionInspection::withoutField('update_time,delete_time')->where($this->searchWhere) {
->limit($this->limitOffset, $this->limitLength) return SupervisionInspection::withoutField('update_time,delete_time')->where($this->searchWhere)
->order(['id' => 'desc']) ->limit($this->limitOffset, $this->limitLength)
->select()->each(function($data){ ->order(['id' => 'desc'])
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); ->select()->each(function ($data) {
$check_item = SupervisionCheckItem::field('node_name')->where('id',$data['check_item_id'])->findOrEmpty(); $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); $check_item = SupervisionCheckItem::field('node_name')->where('id', $data['check_item_id'])->findOrEmpty();
$check_item_detail = SupervisionCheckItem::where('id','in',$data['check_item_detail_ids'])->column('node_name'); $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $check_item_detail = SupervisionCheckItem::where('id', 'in', $data['check_item_detail_ids'])->column('node_name');
$data['check_item_name'] = $check_item['node_name']; $admin = Admin::where('id', 'in', [$data['inspection_user'], $data['follow_user']])->column('name', 'id');
$data['company_name'] = $company['unit_name']; $data['project_name'] = $project['project_name'];
$data['check_item_detail_name'] = implode(',',$check_item_detail); $data['check_item_name'] = $check_item['node_name'];
$data['inspection_type_text'] = $data->inspection_type_text; $data['company_name'] = $company['unit_name'];
$data['is_important_text'] = $data->is_important_text; $data['check_item_detail_name'] = implode(',', $check_item_detail);
$data['problem_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',1)->count(); $data['inspection_type_text'] = $data->inspection_type_text;
$data['reply_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',1)->where('is_rectification',1)->count(); $data['is_important_text'] = $data->is_important_text;
}) $data['follow_user_name'] = $admin[$data['follow_user']] ?? '';
->toArray(); $data['problem_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 1)->count();
} $data['reply_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 1)->where('is_rectification', 1)->count();
})
->toArray();
/** }
* @notes 获取工程监理--巡视登记数量
* @return int
* @author likeadmin /**
* @date 2024/02/26 17:18 * @notes 获取工程监理--巡视登记数量
*/ * @return int
public function count(): int * @author likeadmin
{ * @date 2024/02/26 17:18
return SupervisionInspection::where($this->searchWhere)->count(); */
} public function count(): int
{
} return SupervisionInspection::where($this->searchWhere)->count();
}
}

View File

@ -11,77 +11,79 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\supervision_work; namespace app\adminapi\lists\supervision_work;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\lists\ListsSearchInterface;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionMaterialEntry; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\lists\ListsSearchInterface; use app\common\model\supervision_project\SupervisionProject;
use app\common\model\supervision_work\SupervisionMaterialEntryDetail; use app\common\model\supervision_work\SupervisionMaterialEntry;
/** /**
* 材料进场列表 * 材料进场列表
* Class SupervisionMaterialEntryLists * Class SupervisionMaterialEntryLists
* @package app\adminapi\listssupervision_work * @package app\adminapi\listssupervision_work
*/ */
class SupervisionMaterialEntryLists extends BaseAdminDataLists implements ListsSearchInterface class SupervisionMaterialEntryLists extends BaseAdminDataLists implements ListsSearchInterface
{ {
/** /**
* @notes 设置搜索条件 * @notes 设置搜索条件
* @return \string[][] * @return \string[][]
* @author likeadmin * @author likeadmin
* @date 2024/02/28 13:41 * @date 2024/02/28 13:41
*/ */
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['project_id','enter_result','parallel_test'], '=' => ['project_id', 'enter_result', 'parallel_test'],
'%like%' => ['theme', 'code'], '%like%' => ['theme', 'code'],
]; ];
} }
/** /**
* @notes 获取材料进场列表 * @notes 获取材料进场列表
* @return array * @return array
* @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException * @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\ModelNotFoundException
* @author likeadmin * @author likeadmin
* @date 2024/02/28 13:41 * @date 2024/02/28 13:41
*/ */
public function lists(): array public function lists(): array
{ {
return SupervisionMaterialEntry::withoutField('create_user,create_time,update_time,delete_time')->where($this->searchWhere) return SupervisionMaterialEntry::withoutField('create_user,create_time,update_time,delete_time')->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) {
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $admin = Admin::field('name')->where('id', $data['co_participant'])->findOrEmpty();
$data['company_name'] = $company['unit_name']; $data['project_name'] = $project['project_name'];
$data['enter_result_text'] = $data->enter_result_text; $data['company_name'] = $company['unit_name'];
$data['parallel_test_text'] = $data->parallel_test_text; $data['enter_result_text'] = $data->enter_result_text;
}) $data['parallel_test_text'] = $data->parallel_test_text;
->toArray(); $data['co_participant_name'] = $admin?->name;
} })
->toArray();
}
/**
* @notes 获取材料进场数量
* @return int /**
* @author likeadmin * @notes 获取材料进场数量
* @date 2024/02/28 13:41 * @return int
*/ * @author likeadmin
public function count(): int * @date 2024/02/28 13:41
{ */
return SupervisionMaterialEntry::where($this->searchWhere)->count(); public function count(): int
} {
return SupervisionMaterialEntry::where($this->searchWhere)->count();
} }
}

View File

@ -11,79 +11,82 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\supervision_work; namespace app\adminapi\lists\supervision_work;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\lists\ListsSearchInterface;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionMaterialEntry; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\model\supervision_work\SupervisionMaterialParallelTesting; use app\common\model\supervision_project\SupervisionProject;
use app\common\lists\ListsSearchInterface; use app\common\model\supervision_work\SupervisionMaterialEntry;
use app\common\model\supervision_work\SupervisionMaterialParallelTesting;
/**
* 工程监理--材料平行检验列表 /**
* Class SupervisionMaterialParallelTestingLists * 工程监理--材料平行检验列表
* @package app\adminapi\listssupervision_work * Class SupervisionMaterialParallelTestingLists
*/ * @package app\adminapi\listssupervision_work
class SupervisionMaterialParallelTestingLists extends BaseAdminDataLists implements ListsSearchInterface */
{ class SupervisionMaterialParallelTestingLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件 /**
* @return \string[][] * @notes 设置搜索条件
* @author likeadmin * @return \string[][]
* @date 2024/02/29 15:00 * @author likeadmin
*/ * @date 2024/02/29 15:00
public function setSearch(): array */
{ public function setSearch(): array
return [ {
'=' => ['project_id', 'material_entry_id'], return [
'%like%' => ['code', 'inspector'], '=' => ['project_id', 'material_entry_id'],
]; '%like%' => ['code', 'inspector'],
} ];
}
/**
* @notes 获取工程监理--材料平行检验列表 /**
* @return array * @notes 获取工程监理--材料平行检验列表
* @throws \think\db\exception\DataNotFoundException * @return array
* @throws \think\db\exception\DbException * @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\DbException
* @author likeadmin * @throws \think\db\exception\ModelNotFoundException
* @date 2024/02/29 15:00 * @author likeadmin
*/ * @date 2024/02/29 15:00
public function lists(): array */
{ public function lists(): array
return SupervisionMaterialParallelTesting::withoutField('create_user,create_time,update_time,delete_time')->where($this->searchWhere) {
->limit($this->limitOffset, $this->limitLength) return SupervisionMaterialParallelTesting::withoutField('create_user,create_time,update_time,delete_time')->where($this->searchWhere)
->order(['id' => 'desc']) ->limit($this->limitOffset, $this->limitLength)
->select()->each(function($data){ ->order(['id' => 'desc'])
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); ->select()->each(function ($data) {
$material_entry = SupervisionMaterialEntry::field('code,theme,company_id,enter_time')->where('id',$data['material_entry_id'])->findOrEmpty(); $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$material_entry['company_id'])->findOrEmpty(); $material_entry = SupervisionMaterialEntry::field('code,theme,company_id,enter_time')->where('id', $data['material_entry_id'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $material_entry['company_id'])->findOrEmpty();
$data['company_name'] = $company['unit_name']; $admin = Admin::field('name')->where('id', $data['inspector'])->findOrEmpty();
$data['material_entry_code'] = $material_entry['code']; $data['project_name'] = $project['project_name'];
$data['theme'] = $material_entry['theme']; $data['company_name'] = $company['unit_name'];
$data['enter_time'] = $material_entry['enter_time']; $data['material_entry_code'] = $material_entry['code'];
}) $data['theme'] = $material_entry['theme'];
->toArray(); $data['enter_time'] = $material_entry['enter_time'];
} $data['inspector_name'] = $admin?->name;
})
->toArray();
/** }
* @notes 获取工程监理--材料平行检验数量
* @return int
* @author likeadmin /**
* @date 2024/02/29 15:00 * @notes 获取工程监理--材料平行检验数量
*/ * @return int
public function count(): int * @author likeadmin
{ * @date 2024/02/29 15:00
return SupervisionMaterialParallelTesting::where($this->searchWhere)->count(); */
} public function count(): int
{
} return SupervisionMaterialParallelTesting::where($this->searchWhere)->count();
}
}

View File

@ -11,74 +11,78 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\supervision_work; namespace app\adminapi\lists\supervision_work;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\lists\ListsSearchInterface;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionNotice; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\lists\ListsSearchInterface; use app\common\model\supervision_project\SupervisionProject;
use app\common\model\supervision_work\SupervisionNotice;
/**
* 工程监理--监理通知单列表 /**
* Class SupervisionNoticeLists * 工程监理--监理通知单列表
* @package app\adminapi\listssupervision_work * Class SupervisionNoticeLists
*/ * @package app\adminapi\listssupervision_work
class SupervisionNoticeLists extends BaseAdminDataLists implements ListsSearchInterface */
{ class SupervisionNoticeLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件 /**
* @return \string[][] * @notes 设置搜索条件
* @author likeadmin * @return \string[][]
* @date 2024/03/01 09:20 * @author likeadmin
*/ * @date 2024/03/01 09:20
public function setSearch(): array */
{ public function setSearch(): array
return [ {
'=' => ['project_id'], return [
'%like%' => ['code', 'notify_user'], '=' => ['project_id'],
]; '%like%' => ['code', 'notify_user'],
} ];
}
/**
* @notes 获取工程监理--监理通知单列表 /**
* @return array * @notes 获取工程监理--监理通知单列表
* @throws \think\db\exception\DataNotFoundException * @return array
* @throws \think\db\exception\DbException * @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\DbException
* @author likeadmin * @throws \think\db\exception\ModelNotFoundException
* @date 2024/03/01 09:20 * @author likeadmin
*/ * @date 2024/03/01 09:20
public function lists(): array */
{ public function lists(): array
return SupervisionNotice::withoutField('create_user,create_time,update_time,delete_time')->where($this->searchWhere) {
->limit($this->limitOffset, $this->limitLength) return SupervisionNotice::withoutField('create_user,create_time,update_time,delete_time')->where($this->searchWhere)
->order(['id' => 'desc']) ->limit($this->limitOffset, $this->limitLength)
->select()->each(function($data){ ->order(['id' => 'desc'])
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); ->select()->each(function ($data) {
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty();
$data['company_name'] = $company['unit_name']; $admin = Admin::where('id', 'in', [$data['notify_user'], $data['rectification_reply_user']])->column('name', 'id');
}) $data['project_name'] = $project['project_name'];
->toArray(); $data['company_name'] = $company['unit_name'];
} $data['notify_user_name'] = $admin[$data['notify_user']] ?? '';
$data['rectification_reply_user_name'] = $admin[$data['rectification_reply_user']] ?? '';
})
/** ->toArray();
* @notes 获取工程监理--监理通知单数量 }
* @return int
* @author likeadmin
* @date 2024/03/01 09:20 /**
*/ * @notes 获取工程监理--监理通知单数量
public function count(): int * @return int
{ * @author likeadmin
return SupervisionNotice::where($this->searchWhere)->count(); * @date 2024/03/01 09:20
} */
public function count(): int
} {
return SupervisionNotice::where($this->searchWhere)->count();
}
}

View File

@ -11,84 +11,87 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\supervision_work; namespace app\adminapi\lists\supervision_work;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\lists\ListsSearchInterface;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionCheckItem; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\model\supervision_work\SupervisionProblem; use app\common\model\supervision_project\SupervisionProject;
use app\common\model\supervision_work\SupervisionSideStation; use app\common\model\supervision_work\SupervisionCheckItem;
use app\common\lists\ListsSearchInterface; use app\common\model\supervision_work\SupervisionProblem;
use app\common\model\supervision_work\SupervisionSideStation;
/**
* 工程监理--旁站登记列表 /**
* Class SupervisionSideStationLists * 工程监理--旁站登记列表
* @package app\adminapi\listssupervision_work * Class SupervisionSideStationLists
*/ * @package app\adminapi\listssupervision_work
class SupervisionSideStationLists extends BaseAdminDataLists implements ListsSearchInterface */
{ class SupervisionSideStationLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件 /**
* @return \string[][] * @notes 设置搜索条件
* @author likeadmin * @return \string[][]
* @date 2024/02/27 13:58 * @author likeadmin
*/ * @date 2024/02/27 13:58
public function setSearch(): array */
{ public function setSearch(): array
return [ {
'=' => ['project_id', 'side_station_type'], return [
'%like%' => ['side_station_code'], '=' => ['project_id', 'side_station_type'],
]; '%like%' => ['side_station_code'],
} ];
}
/**
* @notes 获取工程监理--旁站登记列表 /**
* @return array * @notes 获取工程监理--旁站登记列表
* @throws \think\db\exception\DataNotFoundException * @return array
* @throws \think\db\exception\DbException * @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\DbException
* @author likeadmin * @throws \think\db\exception\ModelNotFoundException
* @date 2024/02/27 13:58 * @author likeadmin
*/ * @date 2024/02/27 13:58
public function lists(): array */
{ public function lists(): array
return SupervisionSideStation::withoutField('update_time,delete_time')->where($this->searchWhere) {
->limit($this->limitOffset, $this->limitLength) return SupervisionSideStation::withoutField('update_time,delete_time')->where($this->searchWhere)
->order(['id' => 'desc']) ->limit($this->limitOffset, $this->limitLength)
->select()->each(function($data){ ->order(['id' => 'desc'])
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); ->select()->each(function ($data) {
$check_item = SupervisionCheckItem::field('node_name')->where('id',$data['check_item_id'])->findOrEmpty(); $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); $check_item = SupervisionCheckItem::field('node_name')->where('id', $data['check_item_id'])->findOrEmpty();
$check_item_detail = SupervisionCheckItem::where('id','in',$data['check_item_detail_ids'])->column('node_name'); $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $check_item_detail = SupervisionCheckItem::where('id', 'in', $data['check_item_detail_ids'])->column('node_name');
$data['check_item_name'] = $check_item['node_name']; $admin = Admin::field('name')->where('id', $data['side_station_user'])->findOrEmpty();
$data['company_name'] = $company['unit_name']; $data['project_name'] = $project['project_name'];
$data['check_item_detail_name'] = implode(',',$check_item_detail); $data['check_item_name'] = $check_item['node_name'];
$data['side_station_type_text'] = $data->side_station_type_text; $data['company_name'] = $company['unit_name'];
$data['side_station_result_text'] = $data->side_station_result_text; $data['check_item_detail_name'] = implode(',', $check_item_detail);
$data['problem_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',2)->count(); $data['side_station_type_text'] = $data->side_station_type_text;
$data['reply_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',2)->where('is_rectification',1)->count(); $data['side_station_result_text'] = $data->side_station_result_text;
}) $data['side_station_user_name'] = $admin?->name;
->toArray(); $data['problem_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 2)->count();
} $data['reply_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 2)->where('is_rectification', 1)->count();
})
->toArray();
/** }
* @notes 获取工程监理--旁站登记数量
* @return int
* @author likeadmin /**
* @date 2024/02/27 13:58 * @notes 获取工程监理--旁站登记数量
*/ * @return int
public function count(): int * @author likeadmin
{ * @date 2024/02/27 13:58
return SupervisionSideStation::where($this->searchWhere)->count(); */
} public function count(): int
{
} return SupervisionSideStation::where($this->searchWhere)->count();
}
}

View File

@ -11,78 +11,81 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\supervision_work; namespace app\adminapi\lists\supervision_work;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\lists\ListsSearchInterface;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionProblem; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\model\supervision_work\SupervisionTestBlocksSpecimens; use app\common\model\supervision_project\SupervisionProject;
use app\common\lists\ListsSearchInterface; use app\common\model\supervision_work\SupervisionProblem;
use app\common\model\supervision_work\SupervisionTestBlocksSpecimens;
/**
* 工程监理--试块试件见证列表 /**
* Class SupervisionTestBlocksSpecimensLists * 工程监理--试块试件见证列表
* @package app\adminapi\listssupervision_work * Class SupervisionTestBlocksSpecimensLists
*/ * @package app\adminapi\listssupervision_work
class SupervisionTestBlocksSpecimensLists extends BaseAdminDataLists implements ListsSearchInterface */
{ class SupervisionTestBlocksSpecimensLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件 /**
* @return \string[][] * @notes 设置搜索条件
* @author likeadmin * @return \string[][]
* @date 2024/02/29 14:02 * @author likeadmin
*/ * @date 2024/02/29 14:02
public function setSearch(): array */
{ public function setSearch(): array
return [ {
'=' => ['project_id', 'test_result'], return [
'%like%' => ['test_type', 'code', 'witness', 'test_site'], '=' => ['project_id', 'test_result'],
]; '%like%' => ['test_type', 'code', 'witness', 'test_site'],
} ];
}
/**
* @notes 获取工程监理--试块试件见证列表 /**
* @return array * @notes 获取工程监理--试块试件见证列表
* @throws \think\db\exception\DataNotFoundException * @return array
* @throws \think\db\exception\DbException * @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\DbException
* @author likeadmin * @throws \think\db\exception\ModelNotFoundException
* @date 2024/02/29 14:02 * @author likeadmin
*/ * @date 2024/02/29 14:02
public function lists(): array */
{ public function lists(): array
return SupervisionTestBlocksSpecimens::withoutField('update_time,delete_time')->where($this->searchWhere) {
->limit($this->limitOffset, $this->limitLength) return SupervisionTestBlocksSpecimens::withoutField('update_time,delete_time')->where($this->searchWhere)
->order(['id' => 'desc']) ->limit($this->limitOffset, $this->limitLength)
->select()->each(function($data){ ->order(['id' => 'desc'])
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); ->select()->each(function ($data) {
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty();
$data['company_name'] = $company['unit_name']; $admin = Admin::field('name')->where('id', $data['witness'])->findOrEmpty();
$data['test_result_text'] = $data->test_result_text; $data['project_name'] = $project['project_name'];
$data['problem_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',6)->count(); $data['company_name'] = $company['unit_name'];
$data['reply_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',6)->where('is_rectification',1)->count(); $data['test_result_text'] = $data->test_result_text;
}) $data['witness_name'] = $admin?->name;
->toArray(); $data['problem_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 6)->count();
} $data['reply_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 6)->where('is_rectification', 1)->count();
})
->toArray();
/** }
* @notes 获取工程监理--试块试件见证数量
* @return int
* @author likeadmin /**
* @date 2024/02/29 14:02 * @notes 获取工程监理--试块试件见证数量
*/ * @return int
public function count(): int * @author likeadmin
{ * @date 2024/02/29 14:02
return SupervisionTestBlocksSpecimens::where($this->searchWhere)->count(); */
} public function count(): int
{
} return SupervisionTestBlocksSpecimens::where($this->searchWhere)->count();
}
}

View File

@ -11,80 +11,83 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\supervision_work; namespace app\adminapi\lists\supervision_work;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\lists\ListsSearchInterface;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionMaterialEntry; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\model\supervision_work\SupervisionWitnessSampling; use app\common\model\supervision_project\SupervisionProject;
use app\common\lists\ListsSearchInterface; use app\common\model\supervision_work\SupervisionMaterialEntry;
use app\common\model\supervision_work\SupervisionWitnessSamplingDetail; use app\common\model\supervision_work\SupervisionWitnessSampling;
/** /**
* 工程监理--见证取样列表 * 工程监理--见证取样列表
* Class SupervisionWitnessSamplingLists * Class SupervisionWitnessSamplingLists
* @package app\adminapi\listssupervision_work * @package app\adminapi\listssupervision_work
*/ */
class SupervisionWitnessSamplingLists extends BaseAdminDataLists implements ListsSearchInterface class SupervisionWitnessSamplingLists extends BaseAdminDataLists implements ListsSearchInterface
{ {
/** /**
* @notes 设置搜索条件 * @notes 设置搜索条件
* @return \string[][] * @return \string[][]
* @author likeadmin * @author likeadmin
* @date 2024/02/29 09:22 * @date 2024/02/29 09:22
*/ */
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['project_id', 'material_entry_id'], '=' => ['project_id', 'material_entry_id'],
'%like%' => ['code', 'witness', 'sampler'], '%like%' => ['code', 'witness', 'sampler'],
]; ];
} }
/** /**
* @notes 获取工程监理--见证取样列表 * @notes 获取工程监理--见证取样列表
* @return array * @return array
* @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException * @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\ModelNotFoundException
* @author likeadmin * @author likeadmin
* @date 2024/02/29 09:22 * @date 2024/02/29 09:22
*/ */
public function lists(): array public function lists(): array
{ {
return SupervisionWitnessSampling::withoutField('create_user,create_time,update_time,delete_time')->where($this->searchWhere) return SupervisionWitnessSampling::withoutField('create_user,create_time,update_time,delete_time')->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) {
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$material_entry = SupervisionMaterialEntry::field('code,theme,company_id,enter_time')->where('id',$data['material_entry_id'])->findOrEmpty(); $material_entry = SupervisionMaterialEntry::field('code,theme,company_id,enter_time')->where('id', $data['material_entry_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$material_entry['company_id'])->findOrEmpty(); $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $material_entry['company_id'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $admin = Admin::where('id', 'in', [$data['witness'], $data['sampler']])->column('name', 'id');
$data['company_name'] = $company['unit_name']; $data['project_name'] = $project['project_name'];
$data['material_entry_code'] = $material_entry['code']; $data['company_name'] = $company['unit_name'];
$data['theme'] = $material_entry['theme']; $data['material_entry_code'] = $material_entry['code'];
$data['enter_time'] = $material_entry['enter_time']; $data['theme'] = $material_entry['theme'];
}) $data['enter_time'] = $material_entry['enter_time'];
->toArray(); $data['witness_name'] = $admin[$data['witness']] ?? '';
} $data['sampler_name'] = $admin[$data['sampler']] ?? '';
})
->toArray();
/** }
* @notes 获取工程监理--见证取样数量
* @return int
* @author likeadmin /**
* @date 2024/02/29 09:22 * @notes 获取工程监理--见证取样数量
*/ * @return int
public function count(): int * @author likeadmin
{ * @date 2024/02/29 09:22
return SupervisionWitnessSampling::where($this->searchWhere)->count(); */
} public function count(): int
{
} return SupervisionWitnessSampling::where($this->searchWhere)->count();
}
}

View File

@ -11,72 +11,76 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\supervision_work; namespace app\adminapi\lists\supervision_work;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\supervision_project\SupervisionProject; use app\common\lists\ListsSearchInterface;
use app\common\model\supervision_work\SupervisionWorkContact; use app\common\model\auth\Admin;
use app\common\lists\ListsSearchInterface; use app\common\model\supervision_project\SupervisionProject;
use app\common\model\supervision_work\SupervisionWorkContact;
/**
* 工程监理--监理工作联系单列表 /**
* Class SupervisionWorkContactLists * 工程监理--监理工作联系单列表
* @package app\adminapi\listssupervision_work * Class SupervisionWorkContactLists
*/ * @package app\adminapi\listssupervision_work
class SupervisionWorkContactLists extends BaseAdminDataLists implements ListsSearchInterface */
{ class SupervisionWorkContactLists extends BaseAdminDataLists implements ListsSearchInterface
{
/**
* @notes 设置搜索条件 /**
* @return \string[][] * @notes 设置搜索条件
* @author likeadmin * @return \string[][]
* @date 2024/03/01 11:01 * @author likeadmin
*/ * @date 2024/03/01 11:01
public function setSearch(): array */
{ public function setSearch(): array
return [ {
'=' => ['project_id'], return [
'%like%' => ['code', 'initiator', 'theme', 'copy_user'], '=' => ['project_id'],
]; '%like%' => ['code', 'initiator', 'theme', 'copy_user'],
} ];
}
/**
* @notes 获取工程监理--监理工作联系单列表 /**
* @return array * @notes 获取工程监理--监理工作联系单列表
* @throws \think\db\exception\DataNotFoundException * @return array
* @throws \think\db\exception\DbException * @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\DbException
* @author likeadmin * @throws \think\db\exception\ModelNotFoundException
* @date 2024/03/01 11:01 * @author likeadmin
*/ * @date 2024/03/01 11:01
public function lists(): array */
{ public function lists(): array
return SupervisionWorkContact::where($this->searchWhere) {
->field(['id', 'project_id', 'code', 'initiator', 'initiation_date', 'theme', 'copy_user']) return SupervisionWorkContact::where($this->searchWhere)
->limit($this->limitOffset, $this->limitLength) ->field(['id', 'project_id', 'code', 'initiator', 'initiation_date', 'theme', 'copy_user'])
->order(['id' => 'desc']) ->limit($this->limitOffset, $this->limitLength)
->select()->each(function($data){ ->order(['id' => 'desc'])
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); ->select()->each(function ($data) {
$data['project_name'] = $project['project_name']; $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
}) $admin = Admin::where('id', 'in', [$data['initiator'], $data['copy_user']])->column('name', 'id');
->toArray(); $data['project_name'] = $project['project_name'];
} $data['initiator_name'] = $admin[$data['initiator']] ?? '';
$data['copy_user_name'] = $admin[$data['copy_user']] ?? '';
})
/** ->toArray();
* @notes 获取工程监理--监理工作联系单数量 }
* @return int
* @author likeadmin
* @date 2024/03/01 11:01 /**
*/ * @notes 获取工程监理--监理工作联系单数量
public function count(): int * @return int
{ * @author likeadmin
return SupervisionWorkContact::where($this->searchWhere)->count(); * @date 2024/03/01 11:01
} */
public function count(): int
} {
return SupervisionWorkContact::where($this->searchWhere)->count();
}
}

View File

@ -11,117 +11,120 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\supervision_prepare; namespace app\adminapi\logic\supervision_prepare;
use app\common\model\supervision_prepare\SupervisionPlanning; use app\common\logic\BaseLogic;
use app\common\logic\BaseLogic; use app\common\model\auth\Admin;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\supervision_prepare\SupervisionPlanning;
use think\facade\Db; use app\common\model\supervision_project\SupervisionProject;
use think\facade\Db;
/**
* 工程监理--监理规划逻辑 /**
* Class SupervisionPlanningLogic * 工程监理--监理规划逻辑
* @package app\adminapi\logic\supervision_prepare * Class SupervisionPlanningLogic
*/ * @package app\adminapi\logic\supervision_prepare
class SupervisionPlanningLogic extends BaseLogic */
{ class SupervisionPlanningLogic extends BaseLogic
{
/**
* @notes 添加工程监理--监理规划 /**
* @param array $params * @notes 添加工程监理--监理规划
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/23 16:45 * @author likeadmin
*/ * @date 2024/02/23 16:45
public static function add(array $params): bool */
{ public static function add(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
SupervisionPlanning::create([ try {
'project_id' => $params['project_id'], SupervisionPlanning::create([
'approval_type' => $params['approval_type'], 'project_id' => $params['project_id'],
'approval_user' => $params['approval_user'], 'approval_type' => $params['approval_type'],
'scheme_name' => $params['scheme_name'], 'approval_user' => $params['approval_user'],
'approval_content' => $params['approval_content'], 'scheme_name' => $params['scheme_name'],
'remark' => $params['remark'], 'approval_content' => $params['approval_content'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'remark' => $params['remark'],
'create_user' => $params['create_user'], 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_user' => $params['create_user'],
]); 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
Db::commit(); ]);
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 编辑工程监理--监理规划 /**
* @param array $params * @notes 编辑工程监理--监理规划
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/23 16:45 * @author likeadmin
*/ * @date 2024/02/23 16:45
public static function edit(array $params): bool */
{ public static function edit(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
SupervisionPlanning::where('id', $params['id'])->update([ try {
'project_id' => $params['project_id'], SupervisionPlanning::where('id', $params['id'])->update([
'approval_type' => $params['approval_type'], 'project_id' => $params['project_id'],
'approval_user' => $params['approval_user'], 'approval_type' => $params['approval_type'],
'scheme_name' => $params['scheme_name'], 'approval_user' => $params['approval_user'],
'approval_content' => $params['approval_content'], 'scheme_name' => $params['scheme_name'],
'remark' => $params['remark'], 'approval_content' => $params['approval_content'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'remark' => $params['remark'],
'create_user' => $params['create_user'], 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_user' => $params['create_user'],
'update_time' => time(), 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
]); 'update_time' => time(),
Db::commit(); ]);
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 删除工程监理--监理规划 /**
* @param array $params * @notes 删除工程监理--监理规划
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/23 16:45 * @author likeadmin
*/ * @date 2024/02/23 16:45
public static function delete(array $params): bool */
{ public static function delete(array $params): bool
return SupervisionPlanning::destroy($params['id']); {
} return SupervisionPlanning::destroy($params['id']);
}
/**
* @notes 获取工程监理--监理规划详情 /**
* @param $params * @notes 获取工程监理--监理规划详情
* @return array * @param $params
* @author likeadmin * @return array
* @date 2024/02/23 16:45 * @author likeadmin
*/ * @date 2024/02/23 16:45
public static function detail($params): array */
{ public static function detail($params): array
$data = SupervisionPlanning::withoutField('update_time,delete_time')->findOrEmpty($params['id']); {
$project = SupervisionProject::field('project_name,project_manager')->where('id',$data['project_id'])->findOrEmpty(); $data = SupervisionPlanning::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$data['project_name'] = $project['project_name']; $project = SupervisionProject::field('project_name,project_manager')->where('id', $data['project_id'])->findOrEmpty();
$data['project_manager'] = $project['project_manager']; $admin = Admin::field('name')->where('id', $data['approval_user'])->findOrEmpty();
$data['approval_type_text'] = $data->approval_type_text; $data['project_name'] = $project['project_name'];
return $data->toArray(); $data['project_manager'] = $project['project_manager'];
} $data['approval_type_text'] = $data->approval_type_text;
} $data['approval_user_name'] = $admin?->name;
return $data->toArray();
}
}

View File

@ -11,127 +11,55 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\supervision_work; namespace app\adminapi\logic\supervision_work;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\logic\BaseLogic;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionDeviceEntry; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\logic\BaseLogic; use app\common\model\supervision_project\SupervisionProject;
use app\common\model\supervision_work\SupervisionDeviceEntryDetail; use app\common\model\supervision_work\SupervisionDeviceEntry;
use app\common\model\supervision_work\SupervisionProblem; use app\common\model\supervision_work\SupervisionDeviceEntryDetail;
use think\facade\Db; use app\common\model\supervision_work\SupervisionProblem;
use think\facade\Db;
/**
* 工程监理--设备进场逻辑 /**
* Class SupervisionDeviceEntryLogic * 工程监理--设备进场逻辑
* @package app\adminapi\logic\supervision_work * Class SupervisionDeviceEntryLogic
*/ * @package app\adminapi\logic\supervision_work
class SupervisionDeviceEntryLogic extends BaseLogic */
{ class SupervisionDeviceEntryLogic extends BaseLogic
{
/**
* @notes 添加工程监理--设备进场 /**
* @param array $params * @notes 添加工程监理--设备进场
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/28 16:12 * @author likeadmin
*/ * @date 2024/02/28 16:12
public static function add(array $params): bool */
{ public static function add(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
$res = SupervisionDeviceEntry::create([ try {
'project_id' => $params['project_id'], $res = SupervisionDeviceEntry::create([
'code' => data_unique_code('SBJC'), 'project_id' => $params['project_id'],
'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0, 'code' => data_unique_code('SBJC'),
'company_id' => $params['company_id'], 'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0,
'enter_result' => $params['enter_result'], 'company_id' => $params['company_id'],
'co_participant' => $params['co_participant'], 'enter_result' => $params['enter_result'],
'remark' => $params['remark'], 'co_participant' => $params['co_participant'],
'create_user' => $params['create_user'], 'remark' => $params['remark'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_user' => $params['create_user'],
]); 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
if(!empty($params['entry_detail'])){ ]);
foreach($params['entry_detail'] as $v){ if (!empty($params['entry_detail'])) {
SupervisionDeviceEntryDetail::create([ foreach ($params['entry_detail'] as $v) {
'device_entry_id' => $res->id,
'name' => $v['name'],
'brand' => $v['brand'],
'model' => $v['model'],
'unit' => $v['unit'],
'contract_brand' => $v['contract_brand'],
'entry_number' => $v['entry_number'],
'documentation' => $v['documentation'],
'verify' => $v['verify']
]);
}
}
if(!empty($params['entry_problem'])){
foreach($params['entry_problem'] as $v){
SupervisionProblem::create([
'data_id' => $res->id,
'data_type' => 4,
'problem_cate' => $v['problem_cate'],
'problem_description' => $v['problem_description'],
'problem_name' => $v['problem_name'],
'create_user' => $params['create_user']
]);
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑工程监理--设备进场
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/28 16:12
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
SupervisionDeviceEntry::where('id', $params['id'])->update([
'project_id' => $params['project_id'],
'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0,
'company_id' => $params['company_id'],
'enter_result' => $params['enter_result'],
'co_participant' => $params['co_participant'],
'remark' => $params['remark'],
'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
'update_time' => time()
]);
if(!empty($params['entry_detail'])){
foreach($params['entry_detail'] as $v){
if(!empty($v['id'])){
SupervisionDeviceEntryDetail::where('id',$v['id'])->update([
'device_entry_id' => $params['id'],
'name' => $v['name'],
'brand' => $v['brand'],
'model' => $v['model'],
'unit' => $v['unit'],
'contract_brand' => $v['contract_brand'],
'entry_number' => $v['entry_number'],
'documentation' => $v['documentation'],
'verify' => $v['verify'],
'update_time' => time()
]);
}else{
SupervisionDeviceEntryDetail::create([ SupervisionDeviceEntryDetail::create([
'device_entry_id' => $params['id'], 'device_entry_id' => $res->id,
'name' => $v['name'], 'name' => $v['name'],
'brand' => $v['brand'], 'brand' => $v['brand'],
'model' => $v['model'], 'model' => $v['model'],
@ -142,22 +70,11 @@ class SupervisionDeviceEntryLogic extends BaseLogic
'verify' => $v['verify'] 'verify' => $v['verify']
]); ]);
} }
} }
} if (!empty($params['entry_problem'])) {
if(!empty($params['entry_problem'])){ foreach ($params['entry_problem'] as $v) {
foreach($params['entry_problem'] as $v){
if(!empty($v['id'])){
SupervisionProblem::where('id',$v['id'])->update([
'data_id' => $params['id'],
'data_type' => 4,
'problem_cate' => $v['problem_cate'],
'problem_description' => $v['problem_description'],
'problem_name' => $v['problem_name'],
'update_time' => time()
]);
}else{
SupervisionProblem::create([ SupervisionProblem::create([
'data_id' => $params['id'], 'data_id' => $res->id,
'data_type' => 4, 'data_type' => 4,
'problem_cate' => $v['problem_cate'], 'problem_cate' => $v['problem_cate'],
'problem_description' => $v['problem_description'], 'problem_description' => $v['problem_description'],
@ -165,56 +82,142 @@ class SupervisionDeviceEntryLogic extends BaseLogic
'create_user' => $params['create_user'] 'create_user' => $params['create_user']
]); ]);
} }
} }
} Db::commit();
Db::commit(); return true;
return true; } catch (\Exception $e) {
} catch (\Exception $e) { Db::rollback();
Db::rollback(); self::setError($e->getMessage());
self::setError($e->getMessage()); return false;
return false; }
}
}
/**
* @notes 删除工程监理--设备进场
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/28 16:12
*/
public static function delete(array $params): bool
{
$entry_detail = SupervisionDeviceEntryDetail::where('device_entry_id','in',$params['id'])->findOrEmpty();
if(!$entry_detail->isEmpty()){
self::setError('该内容下存在设备信息数据,请先删除设备信息数据');
return false;
} }
$entry_problem = SupervisionProblem::where('data_id','in',$params['id'])->where('data_type',4)->findOrEmpty();
if(!$entry_problem->isEmpty()){
self::setError('该内容下存在设备问题数据,请先删除设备问题数据'); /**
return false; * @notes 编辑工程监理--设备进场
} * @param array $params
return SupervisionDeviceEntry::destroy($params['id']); * @return bool
} * @author likeadmin
* @date 2024/02/28 16:12
*/
/** public static function edit(array $params): bool
* @notes 获取工程监理--设备进场详情 {
* @param $params Db::startTrans();
* @return array try {
* @author likeadmin SupervisionDeviceEntry::where('id', $params['id'])->update([
* @date 2024/02/28 16:12 'project_id' => $params['project_id'],
*/ 'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0,
public static function detail($params): array 'company_id' => $params['company_id'],
{ 'enter_result' => $params['enter_result'],
$data = SupervisionDeviceEntry::withoutField('update_time,delete_time')->findOrEmpty($params['id']); 'co_participant' => $params['co_participant'],
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); 'remark' => $params['remark'],
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); 'create_user' => $params['create_user'],
$data['project_name'] = $project['project_name']; 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
$data['company_name'] = $company['unit_name']; 'update_time' => time()
$data['enter_result_text'] = $data->enter_result_text; ]);
return $data->toArray(); if (!empty($params['entry_detail'])) {
} foreach ($params['entry_detail'] as $v) {
} if (!empty($v['id'])) {
SupervisionDeviceEntryDetail::where('id', $v['id'])->update([
'device_entry_id' => $params['id'],
'name' => $v['name'],
'brand' => $v['brand'],
'model' => $v['model'],
'unit' => $v['unit'],
'contract_brand' => $v['contract_brand'],
'entry_number' => $v['entry_number'],
'documentation' => $v['documentation'],
'verify' => $v['verify'],
'update_time' => time()
]);
} else {
SupervisionDeviceEntryDetail::create([
'device_entry_id' => $params['id'],
'name' => $v['name'],
'brand' => $v['brand'],
'model' => $v['model'],
'unit' => $v['unit'],
'contract_brand' => $v['contract_brand'],
'entry_number' => $v['entry_number'],
'documentation' => $v['documentation'],
'verify' => $v['verify']
]);
}
}
}
if (!empty($params['entry_problem'])) {
foreach ($params['entry_problem'] as $v) {
if (!empty($v['id'])) {
SupervisionProblem::where('id', $v['id'])->update([
'data_id' => $params['id'],
'data_type' => 4,
'problem_cate' => $v['problem_cate'],
'problem_description' => $v['problem_description'],
'problem_name' => $v['problem_name'],
'update_time' => time()
]);
} else {
SupervisionProblem::create([
'data_id' => $params['id'],
'data_type' => 4,
'problem_cate' => $v['problem_cate'],
'problem_description' => $v['problem_description'],
'problem_name' => $v['problem_name'],
'create_user' => $params['create_user']
]);
}
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除工程监理--设备进场
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/28 16:12
*/
public static function delete(array $params): bool
{
$entry_detail = SupervisionDeviceEntryDetail::where('device_entry_id', 'in', $params['id'])->findOrEmpty();
if (!$entry_detail->isEmpty()) {
self::setError('该内容下存在设备信息数据,请先删除设备信息数据');
return false;
}
$entry_problem = SupervisionProblem::where('data_id', 'in', $params['id'])->where('data_type', 4)->findOrEmpty();
if (!$entry_problem->isEmpty()) {
self::setError('该内容下存在设备问题数据,请先删除设备问题数据');
return false;
}
return SupervisionDeviceEntry::destroy($params['id']);
}
/**
* @notes 获取工程监理--设备进场详情
* @param $params
* @return array
* @author likeadmin
* @date 2024/02/28 16:12
*/
public static function detail($params): array
{
$data = SupervisionDeviceEntry::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty();
$admin = Admin::field('name')->where('id', $data['co_participant'])->findOrEmpty();
$data['project_name'] = $project['project_name'];
$data['company_name'] = $company['unit_name'];
$data['enter_result_text'] = $data->enter_result_text;
$data['co_participant_name'] = $admin?->name;
return $data->toArray();
}
}

View File

@ -11,121 +11,125 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\supervision_work; namespace app\adminapi\logic\supervision_work;
use app\common\model\supervision_project\SupervisionProject; use app\common\logic\BaseLogic;
use app\common\model\supervision_work\SupervisionDiary; use app\common\model\auth\Admin;
use app\common\logic\BaseLogic; use app\common\model\supervision_project\SupervisionProject;
use think\facade\Db; use app\common\model\supervision_work\SupervisionDiary;
use think\facade\Db;
/**
* 工程监理--监理日记逻辑 /**
* Class SupervisionDiaryLogic * 工程监理--监理日记逻辑
* @package app\adminapi\logic\supervision_work * Class SupervisionDiaryLogic
*/ * @package app\adminapi\logic\supervision_work
class SupervisionDiaryLogic extends BaseLogic */
{ class SupervisionDiaryLogic extends BaseLogic
{
/**
* @notes 添加工程监理--监理日记 /**
* @param array $params * @notes 添加工程监理--监理日记
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/03/01 13:53 * @author likeadmin
*/ * @date 2024/03/01 13:53
public static function add(array $params): bool */
{ public static function add(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
SupervisionDiary::create([ try {
'project_id' => $params['project_id'], SupervisionDiary::create([
'date' => !empty($params['date']) ? strtotime($params['date']) : 0, 'project_id' => $params['project_id'],
'week' => $params['week'], 'date' => !empty($params['date']) ? strtotime($params['date']) : 0,
'air_temperature' => $params['air_temperature'], 'week' => $params['week'],
'climate' => $params['climate'], 'air_temperature' => $params['air_temperature'],
'user' => $params['user'], 'climate' => $params['climate'],
'director' => $params['director'], 'user' => $params['user'],
'engineering_dynamics' => $params['engineering_dynamics'], 'director' => $params['director'],
'supervision_work' => $params['supervision_work'], 'engineering_dynamics' => $params['engineering_dynamics'],
'construction_situation' => $params['construction_situation'], 'supervision_work' => $params['supervision_work'],
'other_matters' => $params['other_matters'], 'construction_situation' => $params['construction_situation'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'other_matters' => $params['other_matters'],
]); 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
Db::commit(); ]);
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 编辑工程监理--监理日记 /**
* @param array $params * @notes 编辑工程监理--监理日记
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/03/01 13:53 * @author likeadmin
*/ * @date 2024/03/01 13:53
public static function edit(array $params): bool */
{ public static function edit(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
SupervisionDiary::where('id', $params['id'])->update([ try {
'project_id' => $params['project_id'], SupervisionDiary::where('id', $params['id'])->update([
'date' => !empty($params['date']) ? strtotime($params['date']) : 0, 'project_id' => $params['project_id'],
'week' => $params['week'], 'date' => !empty($params['date']) ? strtotime($params['date']) : 0,
'air_temperature' => $params['air_temperature'], 'week' => $params['week'],
'climate' => $params['climate'], 'air_temperature' => $params['air_temperature'],
'user' => $params['user'], 'climate' => $params['climate'],
'director' => $params['director'], 'user' => $params['user'],
'engineering_dynamics' => $params['engineering_dynamics'], 'director' => $params['director'],
'supervision_work' => $params['supervision_work'], 'engineering_dynamics' => $params['engineering_dynamics'],
'construction_situation' => $params['construction_situation'], 'supervision_work' => $params['supervision_work'],
'other_matters' => $params['other_matters'], 'construction_situation' => $params['construction_situation'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'other_matters' => $params['other_matters'],
'update_time' => time(), 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); 'update_time' => time(),
Db::commit(); ]);
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 删除工程监理--监理日记 /**
* @param array $params * @notes 删除工程监理--监理日记
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/03/01 13:53 * @author likeadmin
*/ * @date 2024/03/01 13:53
public static function delete(array $params): bool */
{ public static function delete(array $params): bool
return SupervisionDiary::destroy($params['id']); {
} return SupervisionDiary::destroy($params['id']);
}
/**
* @notes 获取工程监理--监理日记详情 /**
* @param $params * @notes 获取工程监理--监理日记详情
* @return array * @param $params
* @author likeadmin * @return array
* @date 2024/03/01 13:53 * @author likeadmin
*/ * @date 2024/03/01 13:53
public static function detail($params): array */
{ public static function detail($params): array
$data = SupervisionDiary::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']); {
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); $data = SupervisionDiary::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']);
$data['project_name'] = $project['project_name']; $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
return $data->toArray(); $admin = Admin::where('id', 'in', [$data['user'], $data['director']])->column('name', 'id');
} $data['project_name'] = $project['project_name'];
} $data['user_name'] = $admin[$data['user']] ?? '';
$data['director_name'] = $admin[$data['director']] ?? '';
return $data->toArray();
}
}

View File

@ -11,164 +11,76 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\supervision_work; namespace app\adminapi\logic\supervision_work;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\logic\BaseLogic;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionCheckItem; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\model\supervision_work\SupervisionInspection; use app\common\model\supervision_project\SupervisionProject;
use app\common\logic\BaseLogic; use app\common\model\supervision_work\SupervisionCheckItem;
use app\common\model\supervision_work\SupervisionInspectionResult; use app\common\model\supervision_work\SupervisionInspection;
use app\common\model\supervision_work\SupervisionProblem; use app\common\model\supervision_work\SupervisionInspectionResult;
use think\facade\Db; use app\common\model\supervision_work\SupervisionProblem;
use think\facade\Db;
/**
* 工程监理--巡视登记逻辑 /**
* Class SupervisionInspectionLogic * 工程监理--巡视登记逻辑
* @package app\adminapi\logic\supervision_work * Class SupervisionInspectionLogic
*/ * @package app\adminapi\logic\supervision_work
class SupervisionInspectionLogic extends BaseLogic */
{ class SupervisionInspectionLogic extends BaseLogic
{
/**
* @notes 添加工程监理--巡视登记 /**
* @param array $params * @notes 添加工程监理--巡视登记
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/26 17:18 * @author likeadmin
*/ * @date 2024/02/26 17:18
public static function add(array $params): bool */
{ public static function add(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
$res = SupervisionInspection::create([ try {
'project_id' => $params['project_id'], $res = SupervisionInspection::create([
'inspection_code' => data_unique_code('XS'), 'project_id' => $params['project_id'],
'inspection_type' => $params['inspection_type'], 'inspection_code' => data_unique_code('XS'),
'check_item_id' => $params['check_item_id'], 'inspection_type' => $params['inspection_type'],
'inspection_position' => $params['inspection_position'], 'check_item_id' => $params['check_item_id'],
'workers' => $params['workers'], 'inspection_position' => $params['inspection_position'],
'managers' => $params['managers'], 'workers' => $params['workers'],
'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0, 'managers' => $params['managers'],
'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0, 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0,
'inspection_user' => $params['inspection_user'], 'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0,
'company_id' => $params['company_id'], 'inspection_user' => $params['inspection_user'],
'inspection_content' => $params['inspection_content'], 'company_id' => $params['company_id'],
'is_important' => $params['is_important'], 'inspection_content' => $params['inspection_content'],
'follow_user' => $params['follow_user'], 'is_important' => $params['is_important'],
'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : null, 'follow_user' => $params['follow_user'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : null,
'create_user' => $params['create_user'], 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_user' => $params['create_user'],
]); 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
if(!empty($params['inspection_result'])){ ]);
foreach($params['inspection_result'] as $v){ if (!empty($params['inspection_result'])) {
SupervisionInspectionResult::create([ foreach ($params['inspection_result'] as $v) {
'inspection_id' => $res->id,
'check_type' => $v['check_type'],
'check_content' => $v['check_content'],
'must_check' => $v['must_check'],
'check_result' => $v['check_result']
]);
}
}
if(!empty($params['inspection_problem'])){
foreach($params['inspection_problem'] as $v){
SupervisionProblem::create([
'data_id' => $res->id,
'data_type' => 1,
'problem_cate' => $v['problem_cate'],
'problem_description' => $v['problem_description'],
'problem_name' => $v['problem_name'],
'create_user' => $params['create_user'],
]);
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑工程监理--巡视登记
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/26 17:18
*/
public static function edit(array $params): bool
{
$data = SupervisionInspection::field('check_item_detail_ids')->where('id',$params['id'])->findOrEmpty();
Db::startTrans();
try {
SupervisionInspection::where('id', $params['id'])->update([
'project_id' => $params['project_id'],
'inspection_type' => $params['inspection_type'],
'check_item_id' => $params['check_item_id'],
'inspection_position' => $params['inspection_position'],
'workers' => $params['workers'],
'managers' => $params['managers'],
'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0,
'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0,
'inspection_user' => $params['inspection_user'],
'company_id' => $params['company_id'],
'inspection_content' => $params['inspection_content'],
'is_important' => $params['is_important'],
'follow_user' => $params['follow_user'],
'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : 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(),
]);
if(json_encode($data['check_item_detail_ids']) != json_encode($params['check_item_detail_ids'])){
$supervision_inspection_result_ids = SupervisionInspectionResult::where('inspection_id',$params['id'])->column('id');
SupervisionInspectionResult::destroy($supervision_inspection_result_ids);
}
if(!empty($params['inspection_result'])){
foreach($params['inspection_result'] as $v){
if(!empty($v['id'])){
SupervisionInspectionResult::where('id',$v['id'])->update([
'inspection_id' => $params['id'],
'check_type' => $v['check_type'],
'check_content' => $v['check_content'],
'must_check' => $v['must_check'],
'check_result' => $v['check_result'],
'update_time' => time(),
]);
}else{
SupervisionInspectionResult::create([ SupervisionInspectionResult::create([
'inspection_id' => $params['id'], 'inspection_id' => $res->id,
'check_type' => $v['check_type'], 'check_type' => $v['check_type'],
'check_content' => $v['check_content'], 'check_content' => $v['check_content'],
'must_check' => $v['must_check'], 'must_check' => $v['must_check'],
'check_result' => $v['check_result'] 'check_result' => $v['check_result']
]); ]);
} }
} }
} if (!empty($params['inspection_problem'])) {
if(!empty($params['inspection_problem'])){ foreach ($params['inspection_problem'] as $v) {
foreach($params['inspection_problem'] as $v){
if(!empty($v['id'])){
SupervisionProblem::where('id',$v['id'])->update([
'data_id' => $params['id'],
'data_type' => 1,
'problem_cate' => $v['problem_cate'],
'problem_description' => $v['problem_description'],
'problem_name' => $v['problem_name'],
]);
}else{
SupervisionProblem::create([ SupervisionProblem::create([
'data_id' => $params['id'], 'data_id' => $res->id,
'data_type' => 1, 'data_type' => 1,
'problem_cate' => $v['problem_cate'], 'problem_cate' => $v['problem_cate'],
'problem_description' => $v['problem_description'], 'problem_description' => $v['problem_description'],
@ -176,61 +88,153 @@ class SupervisionInspectionLogic extends BaseLogic
'create_user' => $params['create_user'], 'create_user' => $params['create_user'],
]); ]);
} }
} }
} Db::commit();
Db::commit(); return true;
return true; } catch (\Exception $e) {
} catch (\Exception $e) { Db::rollback();
Db::rollback(); self::setError($e->getMessage());
self::setError($e->getMessage()); return false;
return false; }
}
}
/**
* @notes 删除工程监理--巡视登记
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/26 17:18
*/
public static function delete(array $params): bool
{
$inspection_result = SupervisionInspectionResult::where('inspection_id','in',$params['id'])->findOrEmpty();
if(!$inspection_result->isEmpty()){
self::setError('该巡视内容下存在巡视结果数据,请先删除巡视结果数据');
return false;
}
$inspection_problem = SupervisionProblem::where('data_id','in',$params['id'])->where('data_type',1)->findOrEmpty();
if(!$inspection_problem->isEmpty()){
self::setError('该巡视内容下存在巡视问题数据,请先删除巡视问题数据');
return false;
} }
return SupervisionInspection::destroy($params['id']);
}
/**
* @notes 编辑工程监理--巡视登记
/** * @param array $params
* @notes 获取工程监理--巡视登记详情 * @return bool
* @param $params * @author likeadmin
* @return array * @date 2024/02/26 17:18
* @author likeadmin */
* @date 2024/02/26 17:18 public static function edit(array $params): bool
*/ {
public static function detail($params): array $data = SupervisionInspection::field('check_item_detail_ids')->where('id', $params['id'])->findOrEmpty();
{ Db::startTrans();
$data = SupervisionInspection::withoutField('update_time,delete_time')->findOrEmpty($params['id']); try {
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); SupervisionInspection::where('id', $params['id'])->update([
$check_item = SupervisionCheckItem::field('node_name')->where('id',$data['check_item_id'])->findOrEmpty(); 'project_id' => $params['project_id'],
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); 'inspection_type' => $params['inspection_type'],
$check_item_detail = SupervisionCheckItem::where('id','in',$data['check_item_detail_ids'])->column('node_name'); 'check_item_id' => $params['check_item_id'],
$data['project_name'] = $project['project_name']; 'inspection_position' => $params['inspection_position'],
$data['check_item_name'] = $check_item['node_name']; 'workers' => $params['workers'],
$data['company_name'] = $company['unit_name']; 'managers' => $params['managers'],
$data['check_item_detail_name'] = implode(',',$check_item_detail); 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0,
$data['inspection_type_text'] = $data->inspection_type_text; 'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0,
$data['is_important_text'] = $data->is_important_text; 'inspection_user' => $params['inspection_user'],
return $data->toArray(); 'company_id' => $params['company_id'],
} 'inspection_content' => $params['inspection_content'],
} 'is_important' => $params['is_important'],
'follow_user' => $params['follow_user'],
'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : 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(),
]);
if (json_encode($data['check_item_detail_ids']) != json_encode($params['check_item_detail_ids'])) {
$supervision_inspection_result_ids = SupervisionInspectionResult::where('inspection_id', $params['id'])->column('id');
SupervisionInspectionResult::destroy($supervision_inspection_result_ids);
}
if (!empty($params['inspection_result'])) {
foreach ($params['inspection_result'] as $v) {
if (!empty($v['id'])) {
SupervisionInspectionResult::where('id', $v['id'])->update([
'inspection_id' => $params['id'],
'check_type' => $v['check_type'],
'check_content' => $v['check_content'],
'must_check' => $v['must_check'],
'check_result' => $v['check_result'],
'update_time' => time(),
]);
} else {
SupervisionInspectionResult::create([
'inspection_id' => $params['id'],
'check_type' => $v['check_type'],
'check_content' => $v['check_content'],
'must_check' => $v['must_check'],
'check_result' => $v['check_result']
]);
}
}
}
if (!empty($params['inspection_problem'])) {
foreach ($params['inspection_problem'] as $v) {
if (!empty($v['id'])) {
SupervisionProblem::where('id', $v['id'])->update([
'data_id' => $params['id'],
'data_type' => 1,
'problem_cate' => $v['problem_cate'],
'problem_description' => $v['problem_description'],
'problem_name' => $v['problem_name'],
]);
} else {
SupervisionProblem::create([
'data_id' => $params['id'],
'data_type' => 1,
'problem_cate' => $v['problem_cate'],
'problem_description' => $v['problem_description'],
'problem_name' => $v['problem_name'],
'create_user' => $params['create_user'],
]);
}
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除工程监理--巡视登记
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/26 17:18
*/
public static function delete(array $params): bool
{
$inspection_result = SupervisionInspectionResult::where('inspection_id', 'in', $params['id'])->findOrEmpty();
if (!$inspection_result->isEmpty()) {
self::setError('该巡视内容下存在巡视结果数据,请先删除巡视结果数据');
return false;
}
$inspection_problem = SupervisionProblem::where('data_id', 'in', $params['id'])->where('data_type', 1)->findOrEmpty();
if (!$inspection_problem->isEmpty()) {
self::setError('该巡视内容下存在巡视问题数据,请先删除巡视问题数据');
return false;
}
return SupervisionInspection::destroy($params['id']);
}
/**
* @notes 获取工程监理--巡视登记详情
* @param $params
* @return array
* @author likeadmin
* @date 2024/02/26 17:18
*/
public static function detail($params): array
{
$data = SupervisionInspection::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$check_item = SupervisionCheckItem::field('node_name')->where('id', $data['check_item_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty();
$check_item_detail = SupervisionCheckItem::where('id', 'in', $data['check_item_detail_ids'])->column('node_name');
$admin = Admin::where('id', 'in', [$data['inspection_user'], $data['follow_user']])->column('name', 'id');
$data['project_name'] = $project['project_name'];
$data['check_item_name'] = $check_item['node_name'];
$data['company_name'] = $company['unit_name'];
$data['check_item_detail_name'] = implode(',', $check_item_detail);
$data['inspection_type_text'] = $data->inspection_type_text;
$data['is_important_text'] = $data->is_important_text;
$data['inspection_user_name'] = $admin[$data['inspection_user']] ?? '';
$data['follow_user_name'] = $admin[$data['follow_user']] ?? '';
return $data->toArray();
}
}

View File

@ -11,114 +11,56 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\supervision_work; namespace app\adminapi\logic\supervision_work;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\logic\BaseLogic;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionMaterialEntry; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\logic\BaseLogic; use app\common\model\supervision_project\SupervisionProject;
use app\common\model\supervision_work\SupervisionMaterialEntryDetail; use app\common\model\supervision_work\SupervisionMaterialEntry;
use think\facade\Db; use app\common\model\supervision_work\SupervisionMaterialEntryDetail;
use think\facade\Db;
/**
* 材料进场逻辑 /**
* Class SupervisionMaterialEntryLogic * 材料进场逻辑
* @package app\adminapi\logic\supervision_work * Class SupervisionMaterialEntryLogic
*/ * @package app\adminapi\logic\supervision_work
class SupervisionMaterialEntryLogic extends BaseLogic */
{ class SupervisionMaterialEntryLogic extends BaseLogic
{
/**
* @notes 添加材料进场 /**
* @param array $params * @notes 添加材料进场
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/28 13:41 * @author likeadmin
*/ * @date 2024/02/28 13:41
public static function add(array $params): bool */
{ public static function add(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
$res = SupervisionMaterialEntry::create([ try {
'project_id' => $params['project_id'], $res = SupervisionMaterialEntry::create([
'company_id' => $params['company_id'], 'project_id' => $params['project_id'],
'theme' => $params['theme'], 'company_id' => $params['company_id'],
'code' => data_unique_code('CLJC'), 'theme' => $params['theme'],
'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0, 'code' => data_unique_code('CLJC'),
'co_participant' => $params['co_participant'], 'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0,
'enter_result' => $params['enter_result'], 'co_participant' => $params['co_participant'],
'parallel_test' => $params['parallel_test'], 'enter_result' => $params['enter_result'],
'remark' => $params['remark'], 'parallel_test' => $params['parallel_test'],
'create_user' => $params['create_user'], 'remark' => $params['remark'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_user' => $params['create_user'],
]); 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
if(!empty($params['entry_detail'])){ ]);
foreach($params['entry_detail'] as $v) { if (!empty($params['entry_detail'])) {
SupervisionMaterialEntryDetail::create([ foreach ($params['entry_detail'] as $v) {
'material_entry_id' => $res->id,
'name' => $v['name'],
'brand' => $v['brand'],
'model' => $v['model'],
'unit' => $v['unit'],
'contract_brand' => $v['contract_brand'],
'entry_number' => $v['entry_number']
]);
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑材料进场
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/28 13:41
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
SupervisionMaterialEntry::where('id', $params['id'])->update([
'project_id' => $params['project_id'],
'company_id' => $params['company_id'],
'theme' => $params['theme'],
'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0,
'co_participant' => $params['co_participant'],
'enter_result' => $params['enter_result'],
'parallel_test' => $params['parallel_test'],
'remark' => $params['remark'],
'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
'update_time' => time(),
]);
if(!empty($params['entry_detail'])){
foreach($params['entry_detail'] as $v) {
if(!empty($v['id'])){
SupervisionMaterialEntryDetail::where('id',$v['id'])->update([
'material_entry_id' => $params['id'],
'name' => $v['name'],
'brand' => $v['brand'],
'model' => $v['model'],
'unit' => $v['unit'],
'contract_brand' => $v['contract_brand'],
'entry_number' => $v['entry_number'],
'update_time' => time()
]);
}else{
SupervisionMaterialEntryDetail::create([ SupervisionMaterialEntryDetail::create([
'material_entry_id' => $params['id'], 'material_entry_id' => $res->id,
'name' => $v['name'], 'name' => $v['name'],
'brand' => $v['brand'], 'brand' => $v['brand'],
'model' => $v['model'], 'model' => $v['model'],
@ -127,63 +69,124 @@ class SupervisionMaterialEntryLogic extends BaseLogic
'entry_number' => $v['entry_number'] 'entry_number' => $v['entry_number']
]); ]);
} }
} }
} Db::commit();
Db::commit(); return true;
return true; } catch (\Exception $e) {
} catch (\Exception $e) { Db::rollback();
Db::rollback(); self::setError($e->getMessage());
self::setError($e->getMessage()); return false;
return false; }
}
}
/**
* @notes 删除材料进场
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/28 13:41
*/
public static function delete(array $params): bool
{
$entry_detail = SupervisionMaterialEntryDetail::where('material_entry_id','in',$params['id'])->findOrEmpty();
if(!$entry_detail->isEmpty()){
self::setError('当前数据下存在材料信息记录,请先删除材料信息记录');
return false;
} }
return SupervisionMaterialEntry::destroy($params['id']);
}
/**
* @notes 编辑材料进场
/** * @param array $params
* @notes 获取材料进场详情 * @return bool
* @param $params * @author likeadmin
* @return array * @date 2024/02/28 13:41
* @author likeadmin */
* @date 2024/02/28 13:41 public static function edit(array $params): bool
*/ {
public static function detail($params): array Db::startTrans();
{ try {
$data = SupervisionMaterialEntry::withoutField('update_time,delete_time')->findOrEmpty($params['id']); SupervisionMaterialEntry::where('id', $params['id'])->update([
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); 'project_id' => $params['project_id'],
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); 'company_id' => $params['company_id'],
$data['project_name'] = $project['project_name']; 'theme' => $params['theme'],
$data['company_name'] = $company['unit_name']; 'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0,
$data['enter_result_text'] = $data->enter_result_text; 'co_participant' => $params['co_participant'],
$data['parallel_test_text'] = $data->parallel_test_text; 'enter_result' => $params['enter_result'],
return $data->toArray(); 'parallel_test' => $params['parallel_test'],
} 'remark' => $params['remark'],
'create_user' => $params['create_user'],
public static function datas() 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
{ 'update_time' => time(),
$datas = SupervisionMaterialEntry::field(['id', 'code']) ]);
->order(['id' => 'desc']) if (!empty($params['entry_detail'])) {
->select()->each(function($data){ foreach ($params['entry_detail'] as $v) {
$data['projectinfo'] = 'ID' . $data['id'] . ' / 编码:' . $data['code']; if (!empty($v['id'])) {
}) SupervisionMaterialEntryDetail::where('id', $v['id'])->update([
->toArray(); 'material_entry_id' => $params['id'],
return $datas; 'name' => $v['name'],
} 'brand' => $v['brand'],
} 'model' => $v['model'],
'unit' => $v['unit'],
'contract_brand' => $v['contract_brand'],
'entry_number' => $v['entry_number'],
'update_time' => time()
]);
} else {
SupervisionMaterialEntryDetail::create([
'material_entry_id' => $params['id'],
'name' => $v['name'],
'brand' => $v['brand'],
'model' => $v['model'],
'unit' => $v['unit'],
'contract_brand' => $v['contract_brand'],
'entry_number' => $v['entry_number']
]);
}
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除材料进场
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/28 13:41
*/
public static function delete(array $params): bool
{
$entry_detail = SupervisionMaterialEntryDetail::where('material_entry_id', 'in', $params['id'])->findOrEmpty();
if (!$entry_detail->isEmpty()) {
self::setError('当前数据下存在材料信息记录,请先删除材料信息记录');
return false;
}
return SupervisionMaterialEntry::destroy($params['id']);
}
/**
* @notes 获取材料进场详情
* @param $params
* @return array
* @author likeadmin
* @date 2024/02/28 13:41
*/
public static function detail($params): array
{
$data = SupervisionMaterialEntry::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty();
$admin = Admin::field('name')->where('id', $data['co_participant'])->findOrEmpty();
$data['project_name'] = $project['project_name'];
$data['company_name'] = $company['unit_name'];
$data['enter_result_text'] = $data->enter_result_text;
$data['parallel_test_text'] = $data->parallel_test_text;
$data['co_participant_name'] = $admin?->name;
return $data->toArray();
}
public static function datas()
{
$datas = SupervisionMaterialEntry::field(['id', 'code'])
->order(['id' => 'desc'])
->select()->each(function ($data) {
$data['projectinfo'] = 'ID' . $data['id'] . ' / 编码:' . $data['code'];
})
->toArray();
return $datas;
}
}

View File

@ -11,154 +11,157 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\supervision_work; namespace app\adminapi\logic\supervision_work;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\logic\BaseLogic;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionMaterialEntry; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\model\supervision_work\SupervisionMaterialParallelTesting; use app\common\model\supervision_project\SupervisionProject;
use app\common\logic\BaseLogic; use app\common\model\supervision_work\SupervisionMaterialEntry;
use app\common\model\supervision_work\SupervisionMaterialParallelTestingDetail; use app\common\model\supervision_work\SupervisionMaterialParallelTesting;
use think\facade\Db; use app\common\model\supervision_work\SupervisionMaterialParallelTestingDetail;
use think\facade\Db;
/**
* 工程监理--材料平行检验逻辑 /**
* Class SupervisionMaterialParallelTestingLogic * 工程监理--材料平行检验逻辑
* @package app\adminapi\logic\supervision_work * Class SupervisionMaterialParallelTestingLogic
*/ * @package app\adminapi\logic\supervision_work
class SupervisionMaterialParallelTestingLogic extends BaseLogic */
{ class SupervisionMaterialParallelTestingLogic extends BaseLogic
{
/**
* @notes 添加工程监理--材料平行检验 /**
* @param array $params * @notes 添加工程监理--材料平行检验
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/29 15:00 * @author likeadmin
*/ * @date 2024/02/29 15:00
public static function add(array $params): bool */
{ public static function add(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
$res = SupervisionMaterialParallelTesting::create([ try {
'project_id' => $params['project_id'], $res = SupervisionMaterialParallelTesting::create([
'material_entry_id' => $params['material_entry_id'], 'project_id' => $params['project_id'],
'code' => data_unique_code('CLPXJY'), 'material_entry_id' => $params['material_entry_id'],
'inspector' => $params['inspector'], 'code' => data_unique_code('CLPXJY'),
'inspection_date' => !empty($params['inspection_date']) ? strtotime($params['inspection_date']) : 0, 'inspector' => $params['inspector'],
'remark' => $params['remark'], 'inspection_date' => !empty($params['inspection_date']) ? strtotime($params['inspection_date']) : 0,
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'remark' => $params['remark'],
'create_user' => $params['create_user'], 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_user' => $params['create_user'],
]); 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
if(!empty($params['detail'])){ ]);
foreach($params['detail'] as $v){ if (!empty($params['detail'])) {
SupervisionMaterialParallelTestingDetail::create([ foreach ($params['detail'] as $v) {
'material_parallel_testing_id' => $res->id, SupervisionMaterialParallelTestingDetail::create([
'material_entry_detail_id' => $v['material_entry_detail_id'], 'material_parallel_testing_id' => $res->id,
'num' => $v['num'] 'material_entry_detail_id' => $v['material_entry_detail_id'],
]); 'num' => $v['num']
} ]);
} }
Db::commit(); }
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 编辑工程监理--材料平行检验 /**
* @param array $params * @notes 编辑工程监理--材料平行检验
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/29 15:00 * @author likeadmin
*/ * @date 2024/02/29 15:00
public static function edit(array $params): bool */
{ public static function edit(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
SupervisionMaterialParallelTesting::where('id', $params['id'])->update([ try {
'project_id' => $params['project_id'], SupervisionMaterialParallelTesting::where('id', $params['id'])->update([
'material_entry_id' => $params['material_entry_id'], 'project_id' => $params['project_id'],
'inspector' => $params['inspector'], 'material_entry_id' => $params['material_entry_id'],
'inspection_date' => !empty($params['inspection_date']) ? strtotime($params['inspection_date']) : 0, 'inspector' => $params['inspector'],
'remark' => $params['remark'], 'inspection_date' => !empty($params['inspection_date']) ? strtotime($params['inspection_date']) : 0,
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'remark' => $params['remark'],
'create_user' => $params['create_user'], 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_user' => $params['create_user'],
'update_time' => time() 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
]); 'update_time' => time()
if(!empty($params['detail'])){ ]);
foreach($params['detail'] as $v){ if (!empty($params['detail'])) {
if(!empty($v['id'])){ foreach ($params['detail'] as $v) {
SupervisionMaterialParallelTestingDetail::where('id',$v['id'])->update([ if (!empty($v['id'])) {
'material_parallel_testing_id' => $params['id'], SupervisionMaterialParallelTestingDetail::where('id', $v['id'])->update([
'material_entry_detail_id' => $v['material_entry_detail_id'], 'material_parallel_testing_id' => $params['id'],
'num' => $v['num'], 'material_entry_detail_id' => $v['material_entry_detail_id'],
'update_time' => time() 'num' => $v['num'],
]); 'update_time' => time()
}else{ ]);
SupervisionMaterialParallelTestingDetail::create([ } else {
'material_parallel_testing_id' => $params['id'], SupervisionMaterialParallelTestingDetail::create([
'material_entry_detail_id' => $v['material_entry_detail_id'], 'material_parallel_testing_id' => $params['id'],
'num' => $v['num'] 'material_entry_detail_id' => $v['material_entry_detail_id'],
]); 'num' => $v['num']
} ]);
} }
} }
Db::commit(); }
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 删除工程监理--材料平行检验 /**
* @param array $params * @notes 删除工程监理--材料平行检验
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/29 15:00 * @author likeadmin
*/ * @date 2024/02/29 15:00
public static function delete(array $params): bool */
{ public static function delete(array $params): bool
$detail = SupervisionMaterialParallelTestingDetail::where('material_parallel_testing_id',$params['id'])->findOrEmpty(); {
if(!$detail->isEmpty()){ $detail = SupervisionMaterialParallelTestingDetail::where('material_parallel_testing_id', $params['id'])->findOrEmpty();
self::setError('当前数据下存在材料信息内容,请先删除材料信息内容'); if (!$detail->isEmpty()) {
return false; self::setError('当前数据下存在材料信息内容,请先删除材料信息内容');
} return false;
return SupervisionMaterialParallelTesting::destroy($params['id']); }
} return SupervisionMaterialParallelTesting::destroy($params['id']);
}
/**
* @notes 获取工程监理--材料平行检验详情 /**
* @param $params * @notes 获取工程监理--材料平行检验详情
* @return array * @param $params
* @author likeadmin * @return array
* @date 2024/02/29 15:00 * @author likeadmin
*/ * @date 2024/02/29 15:00
public static function detail($params): array */
{ public static function detail($params): array
$data = SupervisionMaterialParallelTesting::withoutField('update_time,delete_time')->findOrEmpty($params['id']); {
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); $data = SupervisionMaterialParallelTesting::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$material_entry = SupervisionMaterialEntry::field('theme,company_id,enter_time')->where('id',$data['material_entry_id'])->findOrEmpty(); $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$material_entry['company_id'])->findOrEmpty(); $material_entry = SupervisionMaterialEntry::field('theme,company_id,enter_time')->where('id', $data['material_entry_id'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $material_entry['company_id'])->findOrEmpty();
$data['company_name'] = $company['unit_name']; $admin = Admin::field('name')->where('id', $data['inspector'])->findOrEmpty();
$data['material_entry_name'] = $material_entry['theme']; $data['project_name'] = $project['project_name'];
$data['enter_time'] = $material_entry['enter_time']; $data['company_name'] = $company['unit_name'];
return $data->toArray(); $data['material_entry_name'] = $material_entry['theme'];
} $data['enter_time'] = $material_entry['enter_time'];
} $data['inspector_name'] = $admin?->name;
return $data->toArray();
}
}

View File

@ -11,121 +11,126 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\supervision_work; namespace app\adminapi\logic\supervision_work;
use app\common\model\supervision_project\SupervisionProject; use app\common\logic\BaseLogic;
use app\common\model\supervision_work\SupervisionMeetingMinutes; use app\common\model\auth\Admin;
use app\common\logic\BaseLogic; use app\common\model\supervision_project\SupervisionProject;
use think\facade\Db; use app\common\model\supervision_work\SupervisionMeetingMinutes;
use think\facade\Db;
/**
* 工程监理--会议纪要逻辑 /**
* Class SupervisionMeetingMinutesLogic * 工程监理--会议纪要逻辑
* @package app\adminapi\logic\supervision_work * Class SupervisionMeetingMinutesLogic
*/ * @package app\adminapi\logic\supervision_work
class SupervisionMeetingMinutesLogic extends BaseLogic */
{ class SupervisionMeetingMinutesLogic extends BaseLogic
{
/**
* @notes 添加工程监理--会议纪要 /**
* @param array $params * @notes 添加工程监理--会议纪要
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/03/01 14:31 * @author likeadmin
*/ * @date 2024/03/01 14:31
public static function add(array $params): bool */
{ public static function add(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
SupervisionMeetingMinutes::create([ try {
'project_id' => $params['project_id'], SupervisionMeetingMinutes::create([
'theme' => $params['theme'], 'project_id' => $params['project_id'],
'type' => $params['type'], 'theme' => $params['theme'],
'time' => !empty($params['time']) ? strtotime($params['time']) : 0, 'type' => $params['type'],
'emcee' => $params['emcee'], 'time' => !empty($params['time']) ? strtotime($params['time']) : 0,
'recorder' => $params['recorder'], 'emcee' => $params['emcee'],
'location' => $params['location'], 'recorder' => $params['recorder'],
'attendees' => $params['attendees'], 'location' => $params['location'],
'content' => $params['content'], 'attendees' => $params['attendees'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'content' => $params['content'],
'create_user' => $params['create_user'], 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_user' => $params['create_user'],
]); 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
Db::commit(); ]);
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 编辑工程监理--会议纪要 /**
* @param array $params * @notes 编辑工程监理--会议纪要
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/03/01 14:31 * @author likeadmin
*/ * @date 2024/03/01 14:31
public static function edit(array $params): bool */
{ public static function edit(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
SupervisionMeetingMinutes::where('id', $params['id'])->update([ try {
'project_id' => $params['project_id'], SupervisionMeetingMinutes::where('id', $params['id'])->update([
'theme' => $params['theme'], 'project_id' => $params['project_id'],
'type' => $params['type'], 'theme' => $params['theme'],
'time' => !empty($params['time']) ? strtotime($params['time']) : 0, 'type' => $params['type'],
'emcee' => $params['emcee'], 'time' => !empty($params['time']) ? strtotime($params['time']) : 0,
'recorder' => $params['recorder'], 'emcee' => $params['emcee'],
'location' => $params['location'], 'recorder' => $params['recorder'],
'attendees' => $params['attendees'], 'location' => $params['location'],
'content' => $params['content'], 'attendees' => $params['attendees'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'content' => $params['content'],
'create_user' => $params['create_user'], 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_user' => $params['create_user'],
'update_time' => time() 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
]); 'update_time' => time()
Db::commit(); ]);
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 删除工程监理--会议纪要 /**
* @param array $params * @notes 删除工程监理--会议纪要
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/03/01 14:31 * @author likeadmin
*/ * @date 2024/03/01 14:31
public static function delete(array $params): bool */
{ public static function delete(array $params): bool
return SupervisionMeetingMinutes::destroy($params['id']); {
} return SupervisionMeetingMinutes::destroy($params['id']);
}
/**
* @notes 获取工程监理--会议纪要详情 /**
* @param $params * @notes 获取工程监理--会议纪要详情
* @return array * @param $params
* @author likeadmin * @return array
* @date 2024/03/01 14:31 * @author likeadmin
*/ * @date 2024/03/01 14:31
public static function detail($params): array */
{ public static function detail($params): array
$data = SupervisionMeetingMinutes::withoutField('update_time,delete_time')->findOrEmpty($params['id']); {
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); $data = SupervisionMeetingMinutes::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$data['project_name'] = $project['project_name']; $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
return $data->toArray(); $admin = Admin::where('id', 'in', [$data['emcee'], $data['recorder']])->column('name', 'id');
} $attendees = Admin::where('id', 'in', $data['attendees'])->column('name');
} $data['project_name'] = $project['project_name'];
$data['emcee_name'] = $admin[$data['emcee']] ?? '';
$data['recorder_name'] = $admin[$data['recorder']] ?? '';
return $data->toArray();
}
}

View File

@ -11,178 +11,182 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\supervision_work; namespace app\adminapi\logic\supervision_work;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\logic\BaseLogic;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionNotice; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\logic\BaseLogic; use app\common\model\supervision_project\SupervisionProject;
use app\common\model\supervision_work\SupervisionNoticeProblem; use app\common\model\supervision_work\SupervisionNotice;
use think\facade\Db; use app\common\model\supervision_work\SupervisionNoticeProblem;
use think\facade\Db;
/**
* 工程监理--监理通知单逻辑
* Class SupervisionNoticeLogic
* @package app\adminapi\logic\supervision_work
*/
class SupervisionNoticeLogic extends BaseLogic
{
/**
* @notes 添加工程监理--监理通知单
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/03/01 09:20
*/
public static function add(array $params): bool
{
Db::startTrans();
try {
$res = SupervisionNotice::create([
'project_id' => $params['project_id'],
'code' => data_unique_code('JLTZD'),
'reply_date' => !empty($params['reply_date']) ? strtotime($params['reply_date']) : 0,
'company_id' => $params['company_id'],
'notify_user' => $params['notify_user'],
'issue_date' => !empty($params['issue_date']) ? strtotime($params['issue_date']) : 0,
'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
]);
if(!empty($params['problem'])){
foreach($params['problem'] as $v){
SupervisionNoticeProblem::create([
'notice_id' => $res->id,
'problem_description' => $v['problem_description'],
'content_description' => $v['content_description'],
'demand_description' => $v['demand_description'],
]);
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑工程监理--监理通知单
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/03/01 09:20
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
SupervisionNotice::where('id', $params['id'])->update([
'project_id' => $params['project_id'],
'reply_date' => !empty($params['reply_date']) ? strtotime($params['reply_date']) : 0,
'company_id' => $params['company_id'],
'notify_user' => $params['notify_user'],
'issue_date' => !empty($params['issue_date']) ? strtotime($params['issue_date']) : 0,
'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(),
]);
if(!empty($params['problem'])){
foreach($params['problem'] as $v){
if(!empty($v['id'])){
SupervisionNoticeProblem::where('id',$v['id'])->update([
'notice_id' => $params['id'],
'problem_description' => $v['problem_description'],
'content_description' => $v['content_description'],
'demand_description' => $v['demand_description'],
]);
}else{
SupervisionNoticeProblem::create([
'notice_id' => $params['id'],
'problem_description' => $v['problem_description'],
'content_description' => $v['content_description'],
'demand_description' => $v['demand_description'],
]);
}
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/** /**
* @notes 回复工程监理--监理通知单 * 工程监理--监理通知单逻辑
* @param array $params * Class SupervisionNoticeLogic
* @return bool * @package app\adminapi\logic\supervision_work
* @author likeadmin
* @date 2024/03/01 09:20
*/ */
public static function reply(array $params): bool class SupervisionNoticeLogic extends BaseLogic
{ {
Db::startTrans();
try {
SupervisionNotice::where('id', $params['id'])->update([ /**
'rectification_reply_time' => !empty($params['rectification_reply_time']) ? strtotime($params['rectification_reply_time']) : 0, * @notes 添加工程监理--监理通知单
'rectification_reply_user' => $params['rectification_reply_user'], * @param array $params
'rectification_reply_opinions' => $params['rectification_reply_opinions'], * @return bool
'rectification_reply_annex' => $params['rectification_reply_annex'] ? json_encode($params['rectification_reply_annex']) : null, * @author likeadmin
]); * @date 2024/03/01 09:20
Db::commit(); */
return true; public static function add(array $params): bool
} catch (\Exception $e) { {
Db::rollback(); Db::startTrans();
self::setError($e->getMessage()); try {
return false; $res = SupervisionNotice::create([
'project_id' => $params['project_id'],
'code' => data_unique_code('JLTZD'),
'reply_date' => !empty($params['reply_date']) ? strtotime($params['reply_date']) : 0,
'company_id' => $params['company_id'],
'notify_user' => $params['notify_user'],
'issue_date' => !empty($params['issue_date']) ? strtotime($params['issue_date']) : 0,
'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
]);
if (!empty($params['problem'])) {
foreach ($params['problem'] as $v) {
SupervisionNoticeProblem::create([
'notice_id' => $res->id,
'problem_description' => $v['problem_description'],
'content_description' => $v['content_description'],
'demand_description' => $v['demand_description'],
]);
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
} }
}
/**
/** * @notes 编辑工程监理--监理通知单
* @notes 删除工程监理--监理通知单 * @param array $params
* @param array $params * @return bool
* @return bool * @author likeadmin
* @author likeadmin * @date 2024/03/01 09:20
* @date 2024/03/01 09:20 */
*/ public static function edit(array $params): bool
public static function delete(array $params): bool {
{ Db::startTrans();
$problem = SupervisionNoticeProblem::where('notice_id','in',$params['id'])->findOrEmpty(); try {
if(!$problem->isEmpty()){ SupervisionNotice::where('id', $params['id'])->update([
self::setError('该数据下存在通知问题数据,请先删除通知问题数据'); 'project_id' => $params['project_id'],
return false; 'reply_date' => !empty($params['reply_date']) ? strtotime($params['reply_date']) : 0,
'company_id' => $params['company_id'],
'notify_user' => $params['notify_user'],
'issue_date' => !empty($params['issue_date']) ? strtotime($params['issue_date']) : 0,
'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(),
]);
if (!empty($params['problem'])) {
foreach ($params['problem'] as $v) {
if (!empty($v['id'])) {
SupervisionNoticeProblem::where('id', $v['id'])->update([
'notice_id' => $params['id'],
'problem_description' => $v['problem_description'],
'content_description' => $v['content_description'],
'demand_description' => $v['demand_description'],
]);
} else {
SupervisionNoticeProblem::create([
'notice_id' => $params['id'],
'problem_description' => $v['problem_description'],
'content_description' => $v['content_description'],
'demand_description' => $v['demand_description'],
]);
}
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
} }
return SupervisionNotice::destroy($params['id']);
} /**
* @notes 回复工程监理--监理通知单
* @param array $params
/** * @return bool
* @notes 获取工程监理--监理通知单详情 * @author likeadmin
* @param $params * @date 2024/03/01 09:20
* @return array */
* @author likeadmin public static function reply(array $params): bool
* @date 2024/03/01 09:20 {
*/ Db::startTrans();
public static function detail($params): array try {
{ SupervisionNotice::where('id', $params['id'])->update([
$data = SupervisionNotice::withoutField('update_time,delete_time')->findOrEmpty($params['id']); 'rectification_reply_time' => !empty($params['rectification_reply_time']) ? strtotime($params['rectification_reply_time']) : 0,
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); 'rectification_reply_user' => $params['rectification_reply_user'],
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); 'rectification_reply_opinions' => $params['rectification_reply_opinions'],
$data['project_name'] = $project['project_name']; 'rectification_reply_annex' => $params['rectification_reply_annex'] ? json_encode($params['rectification_reply_annex']) : null,
$data['company_name'] = $company['unit_name']; ]);
return $data->toArray(); Db::commit();
} return true;
} } catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除工程监理--监理通知单
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/03/01 09:20
*/
public static function delete(array $params): bool
{
$problem = SupervisionNoticeProblem::where('notice_id', 'in', $params['id'])->findOrEmpty();
if (!$problem->isEmpty()) {
self::setError('该数据下存在通知问题数据,请先删除通知问题数据');
return false;
}
return SupervisionNotice::destroy($params['id']);
}
/**
* @notes 获取工程监理--监理通知单详情
* @param $params
* @return array
* @author likeadmin
* @date 2024/03/01 09:20
*/
public static function detail($params): array
{
$data = SupervisionNotice::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty();
$admin = Admin::where('id', 'in', [$data['notify_user'], $data['rectification_reply_user']])->column('name', 'id');
$data['project_name'] = $project['project_name'];
$data['company_name'] = $company['unit_name'];
$data['notify_user_name'] = $admin[$data['notify_user']] ?? '';
$data['rectification_reply_user_name'] = $admin[$data['rectification_reply_user']] ?? '';
return $data->toArray();
}
}

View File

@ -11,163 +11,75 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\supervision_work; namespace app\adminapi\logic\supervision_work;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\logic\BaseLogic;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionCheckItem; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\model\supervision_work\SupervisionProblem; use app\common\model\supervision_project\SupervisionProject;
use app\common\model\supervision_work\SupervisionSideStation; use app\common\model\supervision_work\SupervisionCheckItem;
use app\common\logic\BaseLogic; use app\common\model\supervision_work\SupervisionProblem;
use app\common\model\supervision_work\SupervisionSideStationResult; use app\common\model\supervision_work\SupervisionSideStation;
use think\facade\Db; use app\common\model\supervision_work\SupervisionSideStationResult;
use think\facade\Db;
/**
* 工程监理--旁站登记逻辑 /**
* Class SupervisionSideStationLogic * 工程监理--旁站登记逻辑
* @package app\adminapi\logic\supervision_work * Class SupervisionSideStationLogic
*/ * @package app\adminapi\logic\supervision_work
class SupervisionSideStationLogic extends BaseLogic */
{ class SupervisionSideStationLogic extends BaseLogic
{
/**
* @notes 添加工程监理--旁站登记 /**
* @param array $params * @notes 添加工程监理--旁站登记
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/27 13:58 * @author likeadmin
*/ * @date 2024/02/27 13:58
public static function add(array $params): bool */
{ public static function add(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
$res = SupervisionSideStation::create([ try {
'project_id' => $params['project_id'], $res = SupervisionSideStation::create([
'side_station_code' => data_unique_code('PZ'), 'project_id' => $params['project_id'],
'side_station_type' => $params['side_station_type'], 'side_station_code' => data_unique_code('PZ'),
'check_item_id' => $params['check_item_id'], 'side_station_type' => $params['side_station_type'],
'position' => $params['position'], 'check_item_id' => $params['check_item_id'],
'company_id' => $params['company_id'], 'position' => $params['position'],
'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0, 'company_id' => $params['company_id'],
'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0, 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0,
'workers' => $params['workers'], 'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0,
'managers' => $params['managers'], 'workers' => $params['workers'],
'situation' => $params['situation'], 'managers' => $params['managers'],
'side_station_result' => $params['side_station_result'], 'situation' => $params['situation'],
'side_station_user' => $params['side_station_user'], 'side_station_result' => $params['side_station_result'],
'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : null, 'side_station_user' => $params['side_station_user'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : null,
'create_user' => $params['create_user'], 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_user' => $params['create_user'],
]); 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
if(!empty($params['side_result'])){ ]);
foreach($params['side_result'] as $v){ if (!empty($params['side_result'])) {
SupervisionSideStationResult::create([ foreach ($params['side_result'] as $v) {
'side_station_id' => $res->id,
'check_type' => $v['check_type'],
'check_content' => $v['check_content'],
'must_check' => $v['must_check'],
'check_result' => $v['check_result']
]);
}
}
if(!empty($params['side_problem'])){
foreach($params['side_problem'] as $v){
SupervisionProblem::create([
'data_id' => $res->id,
'data_type' => 2,
'problem_cate' => $v['problem_cate'],
'problem_description' => $v['problem_description'],
'problem_name' => $v['problem_name'],
'create_user' => $params['create_user']
]);
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑工程监理--旁站登记
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/27 13:58
*/
public static function edit(array $params): bool
{
$data = SupervisionSideStation::field('check_item_detail_ids')->where('id',$params['id'])->findOrEmpty();
Db::startTrans();
try {
SupervisionSideStation::where('id', $params['id'])->update([
'project_id' => $params['project_id'],
'side_station_type' => $params['side_station_type'],
'check_item_id' => $params['check_item_id'],
'position' => $params['position'],
'company_id' => $params['company_id'],
'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0,
'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0,
'workers' => $params['workers'],
'managers' => $params['managers'],
'situation' => $params['situation'],
'side_station_result' => $params['side_station_result'],
'side_station_user' => $params['side_station_user'],
'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : 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(),
]);
if(json_encode($data['check_item_detail_ids']) != json_encode($params['check_item_detail_ids'])){
$side_result_ids = SupervisionSideStationResult::where('side_station_id',$params['id'])->column('id');
SupervisionSideStationResult::destroy($side_result_ids);
}
if(!empty($params['side_result'])){
foreach($params['side_result'] as $v){
if(!empty($v['id'])){
SupervisionSideStationResult::where('id',$v['id'])->update([
'side_station_id' => $params['id'],
'check_type' => $v['check_type'],
'check_content' => $v['check_content'],
'must_check' => $v['must_check'],
'check_result' => $v['check_result'],
'update_time' => time(),
]);
}else{
SupervisionSideStationResult::create([ SupervisionSideStationResult::create([
'side_station_id' => $params['id'], 'side_station_id' => $res->id,
'check_type' => $v['check_type'], 'check_type' => $v['check_type'],
'check_content' => $v['check_content'], 'check_content' => $v['check_content'],
'must_check' => $v['must_check'], 'must_check' => $v['must_check'],
'check_result' => $v['check_result'] 'check_result' => $v['check_result']
]); ]);
} }
} }
} if (!empty($params['side_problem'])) {
if(!empty($params['side_problem'])){ foreach ($params['side_problem'] as $v) {
foreach($params['side_problem'] as $v){
if(!empty($v['id'])){
SupervisionProblem::where('id',$v['id'])->update([
'data_id' => $params['id'],
'data_type' => 2,
'problem_cate' => $v['problem_cate'],
'problem_description' => $v['problem_description'],
'problem_name' => $v['problem_name'],
'update_time' => time(),
]);
}else{
SupervisionProblem::create([ SupervisionProblem::create([
'data_id' => $params['id'], 'data_id' => $res->id,
'data_type' => 2, 'data_type' => 2,
'problem_cate' => $v['problem_cate'], 'problem_cate' => $v['problem_cate'],
'problem_description' => $v['problem_description'], 'problem_description' => $v['problem_description'],
@ -175,61 +87,152 @@ class SupervisionSideStationLogic extends BaseLogic
'create_user' => $params['create_user'] 'create_user' => $params['create_user']
]); ]);
} }
} }
} Db::commit();
Db::commit(); return true;
return true; } catch (\Exception $e) {
} catch (\Exception $e) { Db::rollback();
Db::rollback(); self::setError($e->getMessage());
self::setError($e->getMessage()); return false;
return false; }
}
}
/**
* @notes 删除工程监理--旁站登记
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/27 13:58
*/
public static function delete(array $params): bool
{
$side_station_result = SupervisionSideStationResult::where('side_station_id','in',$params['id'])->findOrEmpty();
if(!$side_station_result->isEmpty()){
self::setError('该旁站内容下存在旁站结果数据,请先删除旁站结果数据');
return false;
} }
$side_station_problem = SupervisionProblem::where('data_id','in',$params['id'])->where('data_type',2)->findOrEmpty();
if(!$side_station_problem->isEmpty()){
self::setError('该旁站内容下存在旁站问题数据,请先删除旁站问题数据'); /**
return false; * @notes 编辑工程监理--旁站登记
} * @param array $params
return SupervisionSideStation::destroy($params['id']); * @return bool
} * @author likeadmin
* @date 2024/02/27 13:58
*/
/** public static function edit(array $params): bool
* @notes 获取工程监理--旁站登记详情 {
* @param $params $data = SupervisionSideStation::field('check_item_detail_ids')->where('id', $params['id'])->findOrEmpty();
* @return array Db::startTrans();
* @author likeadmin try {
* @date 2024/02/27 13:58 SupervisionSideStation::where('id', $params['id'])->update([
*/ 'project_id' => $params['project_id'],
public static function detail($params): array 'side_station_type' => $params['side_station_type'],
{ 'check_item_id' => $params['check_item_id'],
$data = SupervisionSideStation::withoutField('update_time,delete_time')->findOrEmpty($params['id']); 'position' => $params['position'],
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); 'company_id' => $params['company_id'],
$check_item = SupervisionCheckItem::field('node_name')->where('id',$data['check_item_id'])->findOrEmpty(); 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0,
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); 'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0,
$check_item_detail = SupervisionCheckItem::where('id','in',$data['check_item_detail_ids'])->column('node_name'); 'workers' => $params['workers'],
$data['project_name'] = $project['project_name']; 'managers' => $params['managers'],
$data['check_item_name'] = $check_item['node_name']; 'situation' => $params['situation'],
$data['company_name'] = $company['unit_name']; 'side_station_result' => $params['side_station_result'],
$data['check_item_detail_name'] = implode(',',$check_item_detail); 'side_station_user' => $params['side_station_user'],
$data['side_station_type_text'] = $data->side_station_type_text; 'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : null,
$data['side_station_result_text'] = $data->side_station_result_text; 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
return $data->toArray(); 'create_user' => $params['create_user'],
} 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
} 'update_time' => time(),
]);
if (json_encode($data['check_item_detail_ids']) != json_encode($params['check_item_detail_ids'])) {
$side_result_ids = SupervisionSideStationResult::where('side_station_id', $params['id'])->column('id');
SupervisionSideStationResult::destroy($side_result_ids);
}
if (!empty($params['side_result'])) {
foreach ($params['side_result'] as $v) {
if (!empty($v['id'])) {
SupervisionSideStationResult::where('id', $v['id'])->update([
'side_station_id' => $params['id'],
'check_type' => $v['check_type'],
'check_content' => $v['check_content'],
'must_check' => $v['must_check'],
'check_result' => $v['check_result'],
'update_time' => time(),
]);
} else {
SupervisionSideStationResult::create([
'side_station_id' => $params['id'],
'check_type' => $v['check_type'],
'check_content' => $v['check_content'],
'must_check' => $v['must_check'],
'check_result' => $v['check_result']
]);
}
}
}
if (!empty($params['side_problem'])) {
foreach ($params['side_problem'] as $v) {
if (!empty($v['id'])) {
SupervisionProblem::where('id', $v['id'])->update([
'data_id' => $params['id'],
'data_type' => 2,
'problem_cate' => $v['problem_cate'],
'problem_description' => $v['problem_description'],
'problem_name' => $v['problem_name'],
'update_time' => time(),
]);
} else {
SupervisionProblem::create([
'data_id' => $params['id'],
'data_type' => 2,
'problem_cate' => $v['problem_cate'],
'problem_description' => $v['problem_description'],
'problem_name' => $v['problem_name'],
'create_user' => $params['create_user']
]);
}
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除工程监理--旁站登记
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/27 13:58
*/
public static function delete(array $params): bool
{
$side_station_result = SupervisionSideStationResult::where('side_station_id', 'in', $params['id'])->findOrEmpty();
if (!$side_station_result->isEmpty()) {
self::setError('该旁站内容下存在旁站结果数据,请先删除旁站结果数据');
return false;
}
$side_station_problem = SupervisionProblem::where('data_id', 'in', $params['id'])->where('data_type', 2)->findOrEmpty();
if (!$side_station_problem->isEmpty()) {
self::setError('该旁站内容下存在旁站问题数据,请先删除旁站问题数据');
return false;
}
return SupervisionSideStation::destroy($params['id']);
}
/**
* @notes 获取工程监理--旁站登记详情
* @param $params
* @return array
* @author likeadmin
* @date 2024/02/27 13:58
*/
public static function detail($params): array
{
$data = SupervisionSideStation::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$check_item = SupervisionCheckItem::field('node_name')->where('id', $data['check_item_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty();
$check_item_detail = SupervisionCheckItem::where('id', 'in', $data['check_item_detail_ids'])->column('node_name');
$admin = Admin::field('name')->where('id', $data['side_station_user'])->findOrEmpty();
$data['project_name'] = $project['project_name'];
$data['check_item_name'] = $check_item['node_name'];
$data['company_name'] = $company['unit_name'];
$data['check_item_detail_name'] = implode(',', $check_item_detail);
$data['side_station_type_text'] = $data->side_station_type_text;
$data['side_station_result_text'] = $data->side_station_result_text;
$data['side_station_user_name'] = $admin?->name;
return $data->toArray();
}
}

View File

@ -11,166 +11,169 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\supervision_work; namespace app\adminapi\logic\supervision_work;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\logic\BaseLogic;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionProblem; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\model\supervision_work\SupervisionTestBlocksSpecimens; use app\common\model\supervision_project\SupervisionProject;
use app\common\logic\BaseLogic; use app\common\model\supervision_work\SupervisionProblem;
use think\facade\Db; use app\common\model\supervision_work\SupervisionTestBlocksSpecimens;
use think\facade\Db;
/**
* 工程监理--试块试件见证逻辑 /**
* Class SupervisionTestBlocksSpecimensLogic * 工程监理--试块试件见证逻辑
* @package app\adminapi\logic\supervision_work * Class SupervisionTestBlocksSpecimensLogic
*/ * @package app\adminapi\logic\supervision_work
class SupervisionTestBlocksSpecimensLogic extends BaseLogic */
{ class SupervisionTestBlocksSpecimensLogic extends BaseLogic
{
/**
* @notes 添加工程监理--试块试件见证 /**
* @param array $params * @notes 添加工程监理--试块试件见证
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/29 14:02 * @author likeadmin
*/ * @date 2024/02/29 14:02
public static function add(array $params): bool */
{ public static function add(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
$res = SupervisionTestBlocksSpecimens::create([ try {
'project_id' => $params['project_id'], $res = SupervisionTestBlocksSpecimens::create([
'test_type' => $params['test_type'], 'project_id' => $params['project_id'],
'code' => data_unique_code('SKSJJZ'), 'test_type' => $params['test_type'],
'witness' => $params['witness'], 'code' => data_unique_code('SKSJJZ'),
'test_site' => $params['test_site'], 'witness' => $params['witness'],
'company_id' => $params['company_id'], 'test_site' => $params['test_site'],
'start_date' => !empty($params['start_date']) ? strtotime($params['start_date']) : 0, 'company_id' => $params['company_id'],
'end_date' => !empty($params['end_date']) ? strtotime($params['end_date']) : 0, 'start_date' => !empty($params['start_date']) ? strtotime($params['start_date']) : 0,
'test_result' => $params['test_result'], 'end_date' => !empty($params['end_date']) ? strtotime($params['end_date']) : 0,
'remark' => $params['remark'], 'test_result' => $params['test_result'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'remark' => $params['remark'],
'create_user' => $params['create_user'], 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_user' => $params['create_user'],
]); 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
if(!empty($params['problem'])){ ]);
foreach($params['problem'] as $v){ if (!empty($params['problem'])) {
SupervisionProblem::create([ foreach ($params['problem'] as $v) {
'data_id' => $res->id, SupervisionProblem::create([
'data_type' => 6, 'data_id' => $res->id,
'problem_cate' => $v['problem_cate'], 'data_type' => 6,
'problem_description' => $v['problem_description'], 'problem_cate' => $v['problem_cate'],
'problem_name' => $v['problem_name'], 'problem_description' => $v['problem_description'],
'create_user' => $params['create_user'], 'problem_name' => $v['problem_name'],
]); 'create_user' => $params['create_user'],
} ]);
} }
Db::commit(); }
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 编辑工程监理--试块试件见证 /**
* @param array $params * @notes 编辑工程监理--试块试件见证
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/29 14:02 * @author likeadmin
*/ * @date 2024/02/29 14:02
public static function edit(array $params): bool */
{ public static function edit(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
SupervisionTestBlocksSpecimens::where('id', $params['id'])->update([ try {
'project_id' => $params['project_id'], SupervisionTestBlocksSpecimens::where('id', $params['id'])->update([
'test_type' => $params['test_type'], 'project_id' => $params['project_id'],
'witness' => $params['witness'], 'test_type' => $params['test_type'],
'test_site' => $params['test_site'], 'witness' => $params['witness'],
'company_id' => $params['company_id'], 'test_site' => $params['test_site'],
'start_date' => !empty($params['start_date']) ? strtotime($params['start_date']) : 0, 'company_id' => $params['company_id'],
'end_date' => !empty($params['end_date']) ? strtotime($params['end_date']) : 0, 'start_date' => !empty($params['start_date']) ? strtotime($params['start_date']) : 0,
'test_result' => $params['test_result'], 'end_date' => !empty($params['end_date']) ? strtotime($params['end_date']) : 0,
'remark' => $params['remark'], 'test_result' => $params['test_result'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'remark' => $params['remark'],
'create_user' => $params['create_user'], 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_user' => $params['create_user'],
]); 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
if(!empty($params['problem'])){ ]);
foreach($params['problem'] as $v){ if (!empty($params['problem'])) {
if(!empty($v['id'])){ foreach ($params['problem'] as $v) {
SupervisionProblem::where('id',$v['id'])->update([ if (!empty($v['id'])) {
'data_id' => $params['id'], SupervisionProblem::where('id', $v['id'])->update([
'data_type' => 6, 'data_id' => $params['id'],
'problem_cate' => $v['problem_cate'], 'data_type' => 6,
'problem_description' => $v['problem_description'], 'problem_cate' => $v['problem_cate'],
'problem_name' => $v['problem_name'], 'problem_description' => $v['problem_description'],
'update_time' => time(), 'problem_name' => $v['problem_name'],
]); 'update_time' => time(),
}else{ ]);
SupervisionProblem::create([ } else {
'data_id' => $params['id'], SupervisionProblem::create([
'data_type' => 6, 'data_id' => $params['id'],
'problem_cate' => $v['problem_cate'], 'data_type' => 6,
'problem_description' => $v['problem_description'], 'problem_cate' => $v['problem_cate'],
'problem_name' => $v['problem_name'], 'problem_description' => $v['problem_description'],
'create_user' => $params['create_user'], 'problem_name' => $v['problem_name'],
]); 'create_user' => $params['create_user'],
} ]);
} }
} }
Db::commit(); }
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 删除工程监理--试块试件见证 /**
* @param array $params * @notes 删除工程监理--试块试件见证
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/29 14:02 * @author likeadmin
*/ * @date 2024/02/29 14:02
public static function delete(array $params): bool */
{ public static function delete(array $params): bool
$problem = SupervisionProblem::where('data_id','in',$params['id'])->where('data_type',6)->findOrEmpty(); {
if(!$problem->isEmpty()){ $problem = SupervisionProblem::where('data_id', 'in', $params['id'])->where('data_type', 6)->findOrEmpty();
self::setError('该内容下存在试块试件见证问题数据,请先删除试块试件见证问题数据'); if (!$problem->isEmpty()) {
return false; self::setError('该内容下存在试块试件见证问题数据,请先删除试块试件见证问题数据');
} return false;
return SupervisionTestBlocksSpecimens::destroy($params['id']); }
} return SupervisionTestBlocksSpecimens::destroy($params['id']);
}
/**
* @notes 获取工程监理--试块试件见证详情 /**
* @param $params * @notes 获取工程监理--试块试件见证详情
* @return array * @param $params
* @author likeadmin * @return array
* @date 2024/02/29 14:02 * @author likeadmin
*/ * @date 2024/02/29 14:02
public static function detail($params): array */
{ public static function detail($params): array
$data = SupervisionTestBlocksSpecimens::withoutField('update_time,delete_time')->findOrEmpty($params['id']); {
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); $data = SupervisionTestBlocksSpecimens::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $company = SupervisionParticipatingUnits::field('unit_name')->where('id', $data['company_id'])->findOrEmpty();
$data['company_name'] = $company['unit_name']; $admin = Admin::field('name')->where('id', $data['witness'])->findOrEmpty();
$data['test_result_text'] = $data->test_result_text; $data['project_name'] = $project['project_name'];
return $data->toArray(); $data['company_name'] = $company['unit_name'];
} $data['test_result_text'] = $data->test_result_text;
} $data['witness_name'] = $admin?->name;
return $data->toArray();
}
}

View File

@ -11,155 +11,159 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\supervision_work; namespace app\adminapi\logic\supervision_work;
use app\common\model\supervision_project\SupervisionParticipatingUnits; use app\common\logic\BaseLogic;
use app\common\model\supervision_project\SupervisionProject; use app\common\model\auth\Admin;
use app\common\model\supervision_work\SupervisionMaterialEntry; use app\common\model\supervision_project\SupervisionParticipatingUnits;
use app\common\model\supervision_work\SupervisionWitnessSampling; use app\common\model\supervision_project\SupervisionProject;
use app\common\logic\BaseLogic; use app\common\model\supervision_work\SupervisionMaterialEntry;
use app\common\model\supervision_work\SupervisionWitnessSamplingDetail; use app\common\model\supervision_work\SupervisionWitnessSampling;
use think\facade\Db; use app\common\model\supervision_work\SupervisionWitnessSamplingDetail;
use think\facade\Db;
/**
* 工程监理--见证取样逻辑 /**
* Class SupervisionWitnessSamplingLogic * 工程监理--见证取样逻辑
* @package app\adminapi\logic\supervision_work * Class SupervisionWitnessSamplingLogic
*/ * @package app\adminapi\logic\supervision_work
class SupervisionWitnessSamplingLogic extends BaseLogic */
{ class SupervisionWitnessSamplingLogic extends BaseLogic
{
/**
* @notes 添加工程监理--见证取样 /**
* @param array $params * @notes 添加工程监理--见证取样
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/29 09:22 * @author likeadmin
*/ * @date 2024/02/29 09:22
public static function add(array $params): bool */
{ public static function add(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
$res = SupervisionWitnessSampling::create([ try {
'project_id' => $params['project_id'], $res = SupervisionWitnessSampling::create([
'material_entry_id' => $params['material_entry_id'], 'project_id' => $params['project_id'],
'code' => data_unique_code('JZQY'), 'material_entry_id' => $params['material_entry_id'],
'sampling_date' => !empty($params['sampling_date']) ? strtotime($params['sampling_date']) : 0, 'code' => data_unique_code('JZQY'),
'witness' => $params['witness'], 'sampling_date' => !empty($params['sampling_date']) ? strtotime($params['sampling_date']) : 0,
'sampler' => $params['sampler'], 'witness' => $params['witness'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'sampler' => $params['sampler'],
'create_user' => $params['create_user'], 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_user' => $params['create_user'],
]); 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
if(!empty($params['sampling_detail'])){ ]);
foreach($params['sampling_detail'] as $v){ if (!empty($params['sampling_detail'])) {
SupervisionWitnessSamplingDetail::create([ foreach ($params['sampling_detail'] as $v) {
'witness_sampling_id' => $res->id,
'material_entry_detail_id' => $v['material_entry_detail_id'],
'num' => $v['num']
]);
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 编辑工程监理--见证取样
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/29 09:22
*/
public static function edit(array $params): bool
{
Db::startTrans();
try {
SupervisionWitnessSampling::where('id', $params['id'])->update([
'project_id' => $params['project_id'],
'material_entry_id' => $params['material_entry_id'],
'sampling_date' => !empty($params['sampling_date']) ? strtotime($params['sampling_date']) : 0,
'witness' => $params['witness'],
'sampler' => $params['sampler'],
'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()
]);
if(!empty($params['sampling_detail'])){
foreach($params['sampling_detail'] as $v){
if(!empty($v['id'])){
SupervisionWitnessSamplingDetail::where('id',$v['id'])->update([
'witness_sampling_id' => $params['id'],
'material_entry_detail_id' => $v['material_entry_detail_id'],
'num' => $v['num'],
'update_time' => time()
]);
}else{
SupervisionWitnessSamplingDetail::create([ SupervisionWitnessSamplingDetail::create([
'witness_sampling_id' => $params['id'], 'witness_sampling_id' => $res->id,
'material_entry_detail_id' => $v['material_entry_detail_id'], 'material_entry_detail_id' => $v['material_entry_detail_id'],
'num' => $v['num'] 'num' => $v['num']
]); ]);
} }
}
} Db::commit();
} return true;
Db::commit(); } catch (\Exception $e) {
return true; Db::rollback();
} catch (\Exception $e) { self::setError($e->getMessage());
Db::rollback(); return false;
self::setError($e->getMessage()); }
return false;
}
}
/**
* @notes 删除工程监理--见证取样
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/29 09:22
*/
public static function delete(array $params): bool
{
$witness_sampling_detail = SupervisionWitnessSamplingDetail::where('witness_sampling_id','in',$params['id'])->findOrEmpty();
if(!$witness_sampling_detail->isEmpty()){
self::setError('当前数据下存在材料信息内容,请先删除材料信息内容');
return false;
} }
return SupervisionWitnessSampling::destroy($params['id']);
}
/**
* @notes 编辑工程监理--见证取样
/** * @param array $params
* @notes 获取工程监理--见证取样详情 * @return bool
* @param $params * @author likeadmin
* @return array * @date 2024/02/29 09:22
* @author likeadmin */
* @date 2024/02/29 09:22 public static function edit(array $params): bool
*/ {
public static function detail($params): array Db::startTrans();
{ try {
$data = SupervisionWitnessSampling::withoutField('update_time,delete_time')->findOrEmpty($params['id']); SupervisionWitnessSampling::where('id', $params['id'])->update([
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); 'project_id' => $params['project_id'],
$material_entry = SupervisionMaterialEntry::field('theme,company_id,enter_time')->where('id',$data['material_entry_id'])->findOrEmpty(); 'material_entry_id' => $params['material_entry_id'],
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$material_entry['company_id'])->findOrEmpty(); 'sampling_date' => !empty($params['sampling_date']) ? strtotime($params['sampling_date']) : 0,
$data['project_name'] = $project['project_name']; 'witness' => $params['witness'],
$data['company_name'] = $company['unit_name']; 'sampler' => $params['sampler'],
$data['material_entry_name'] = $material_entry['theme']; 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
$data['enter_time'] = $material_entry['enter_time']; 'create_user' => $params['create_user'],
return $data->toArray(); 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
} 'update_time' => time()
} ]);
if (!empty($params['sampling_detail'])) {
foreach ($params['sampling_detail'] as $v) {
if (!empty($v['id'])) {
SupervisionWitnessSamplingDetail::where('id', $v['id'])->update([
'witness_sampling_id' => $params['id'],
'material_entry_detail_id' => $v['material_entry_detail_id'],
'num' => $v['num'],
'update_time' => time()
]);
} else {
SupervisionWitnessSamplingDetail::create([
'witness_sampling_id' => $params['id'],
'material_entry_detail_id' => $v['material_entry_detail_id'],
'num' => $v['num']
]);
}
}
}
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
}
}
/**
* @notes 删除工程监理--见证取样
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/29 09:22
*/
public static function delete(array $params): bool
{
$witness_sampling_detail = SupervisionWitnessSamplingDetail::where('witness_sampling_id', 'in', $params['id'])->findOrEmpty();
if (!$witness_sampling_detail->isEmpty()) {
self::setError('当前数据下存在材料信息内容,请先删除材料信息内容');
return false;
}
return SupervisionWitnessSampling::destroy($params['id']);
}
/**
* @notes 获取工程监理--见证取样详情
* @param $params
* @return array
* @author likeadmin
* @date 2024/02/29 09:22
*/
public static function detail($params): array
{
$data = SupervisionWitnessSampling::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$material_entry = SupervisionMaterialEntry::field('theme,company_id,enter_time')->where('id', $data['material_entry_id'])->findOrEmpty();
$company = SupervisionParticipatingUnits::field('unit_name')->where('id', $material_entry['company_id'])->findOrEmpty();
$admin = Admin::where('id', 'in', [$data['witness'], $data['sampler']])->column('name', 'id');
$data['project_name'] = $project['project_name'];
$data['company_name'] = $company['unit_name'];
$data['material_entry_name'] = $material_entry['theme'];
$data['enter_time'] = $material_entry['enter_time'];
$data['witness_name'] = $admin[$data['witness']] ?? '';
$data['sampler_name'] = $admin[$data['sampler']] ?? '';
return $data->toArray();
}
}

View File

@ -11,142 +11,146 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\supervision_work; namespace app\adminapi\logic\supervision_work;
use app\common\model\supervision_project\SupervisionProject; use app\common\logic\BaseLogic;
use app\common\model\supervision_work\SupervisionWorkContact; use app\common\model\auth\Admin;
use app\common\logic\BaseLogic; use app\common\model\supervision_project\SupervisionProject;
use app\common\model\supervision_work\SupervisionWorkContactProblem; use app\common\model\supervision_work\SupervisionWorkContact;
use think\facade\Db; use app\common\model\supervision_work\SupervisionWorkContactProblem;
use think\facade\Db;
/**
* 工程监理--监理工作联系单逻辑 /**
* Class SupervisionWorkContactLogic * 工程监理--监理工作联系单逻辑
* @package app\adminapi\logic\supervision_work * Class SupervisionWorkContactLogic
*/ * @package app\adminapi\logic\supervision_work
class SupervisionWorkContactLogic extends BaseLogic */
{ class SupervisionWorkContactLogic extends BaseLogic
{
/**
* @notes 添加工程监理--监理工作联系单 /**
* @param array $params * @notes 添加工程监理--监理工作联系单
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/03/01 11:01 * @author likeadmin
*/ * @date 2024/03/01 11:01
public static function add(array $params): bool */
{ public static function add(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
$res = SupervisionWorkContact::create([ try {
'project_id' => $params['project_id'], $res = SupervisionWorkContact::create([
'code' => data_unique_code('GZLXD'), 'project_id' => $params['project_id'],
'initiator' => $params['initiator'], 'code' => data_unique_code('GZLXD'),
'initiation_date' => !empty($params['initiation_date']) ? strtotime($params['initiation_date']) : 0, 'initiator' => $params['initiator'],
'theme' => $params['theme'], 'initiation_date' => !empty($params['initiation_date']) ? strtotime($params['initiation_date']) : 0,
'copy_user' => $params['copy_user'], 'theme' => $params['theme'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'copy_user' => $params['copy_user'],
]); 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
if(!empty($params['problem'])){ ]);
foreach($params['problem'] as $v){ if (!empty($params['problem'])) {
SupervisionWorkContactProblem::create([ foreach ($params['problem'] as $v) {
'work_contact_id' => $res->id, SupervisionWorkContactProblem::create([
'problem_name' => $v['problem_name'], 'work_contact_id' => $res->id,
'problem_description' => $v['problem_description'], 'problem_name' => $v['problem_name'],
]); 'problem_description' => $v['problem_description'],
} ]);
} }
Db::commit(); }
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 编辑工程监理--监理工作联系单 /**
* @param array $params * @notes 编辑工程监理--监理工作联系单
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/03/01 11:01 * @author likeadmin
*/ * @date 2024/03/01 11:01
public static function edit(array $params): bool */
{ public static function edit(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
SupervisionWorkContact::where('id', $params['id'])->update([ try {
'project_id' => $params['project_id'], SupervisionWorkContact::where('id', $params['id'])->update([
'initiator' => $params['initiator'], 'project_id' => $params['project_id'],
'initiation_date' => !empty($params['initiation_date']) ? strtotime($params['initiation_date']) : 0, 'initiator' => $params['initiator'],
'theme' => $params['theme'], 'initiation_date' => !empty($params['initiation_date']) ? strtotime($params['initiation_date']) : 0,
'copy_user' => $params['copy_user'], 'theme' => $params['theme'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'copy_user' => $params['copy_user'],
'update_time' => time() 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); 'update_time' => time()
if(!empty($params['problem'])){ ]);
foreach($params['problem'] as $v){ if (!empty($params['problem'])) {
if(!empty($v['id'])){ foreach ($params['problem'] as $v) {
SupervisionWorkContactProblem::where('id',$v['id'])->update([ if (!empty($v['id'])) {
'work_contact_id' => $params['id'], SupervisionWorkContactProblem::where('id', $v['id'])->update([
'problem_name' => $v['problem_name'], 'work_contact_id' => $params['id'],
'problem_description' => $v['problem_description'], 'problem_name' => $v['problem_name'],
]); 'problem_description' => $v['problem_description'],
}else{ ]);
SupervisionWorkContactProblem::create([ } else {
'work_contact_id' => $params['id'], SupervisionWorkContactProblem::create([
'problem_name' => $v['problem_name'], 'work_contact_id' => $params['id'],
'problem_description' => $v['problem_description'], 'problem_name' => $v['problem_name'],
]); 'problem_description' => $v['problem_description'],
} ]);
} }
} }
Db::commit(); }
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 删除工程监理--监理工作联系单 /**
* @param array $params * @notes 删除工程监理--监理工作联系单
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/03/01 11:01 * @author likeadmin
*/ * @date 2024/03/01 11:01
public static function delete(array $params): bool */
{ public static function delete(array $params): bool
$problem = SupervisionWorkContactProblem::where('work_contact_id','in',$params['id'])->findOrEmpty(); {
if(!$problem->isEmpty()){ $problem = SupervisionWorkContactProblem::where('work_contact_id', 'in', $params['id'])->findOrEmpty();
self::setError('该数据下存在通知问题数据,请先删除通知问题数据'); if (!$problem->isEmpty()) {
return false; self::setError('该数据下存在通知问题数据,请先删除通知问题数据');
} return false;
return SupervisionWorkContact::destroy($params['id']); }
} return SupervisionWorkContact::destroy($params['id']);
}
/**
* @notes 获取工程监理--监理工作联系单详情 /**
* @param $params * @notes 获取工程监理--监理工作联系单详情
* @return array * @param $params
* @author likeadmin * @return array
* @date 2024/03/01 11:01 * @author likeadmin
*/ * @date 2024/03/01 11:01
public static function detail($params): array */
{ public static function detail($params): array
$data = SupervisionWorkContact::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']); {
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); $data = SupervisionWorkContact::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']);
$data['project_name'] = $project['project_name']; $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
return $data->toArray(); $admin = Admin::where('id', 'in', [$data['initiator'], $data['copy_user']])->column('name', 'id');
} $data['project_name'] = $project['project_name'];
} $data['initiator_name'] = $admin[$data['initiator']] ?? '';
$data['copy_user_name'] = $admin[$data['copy_user']] ?? '';
return $data->toArray();
}
}