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

@ -12,72 +12,75 @@
// | 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 * Class SupervisionPlanningLists
* @package app\adminapi\listssupervision_prepare * @package app\adminapi\listssupervision_prepare
*/ */
class SupervisionPlanningLists extends BaseAdminDataLists implements ListsSearchInterface class SupervisionPlanningLists extends BaseAdminDataLists implements ListsSearchInterface
{ {
/** /**
* @notes 设置搜索条件 * @notes 设置搜索条件
* @return \string[][] * @return \string[][]
* @author likeadmin * @author likeadmin
* @date 2024/02/23 16:45 * @date 2024/02/23 16:45
*/ */
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['project_id', 'approval_type'], '=' => ['project_id', 'approval_type'],
'%like%' => ['approval_user', 'scheme_name', 'create_user'], '%like%' => ['approval_user', 'scheme_name', 'create_user'],
]; ];
} }
/** /**
* @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/23 16:45 * @date 2024/02/23 16:45
*/ */
public function lists(): array public function lists(): array
{ {
return SupervisionPlanning::withoutField('update_time,delete_time')->where($this->searchWhere) return SupervisionPlanning::withoutField('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,project_manager')->where('id',$data['project_id'])->findOrEmpty(); $project = SupervisionProject::field('project_name,project_manager')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $admin = Admin::field('name')->where('id', $data['approval_user'])->findOrEmpty();
$data['project_manager'] = $project['project_manager']; $data['project_name'] = $project['project_name'];
$data['approval_type_text'] = $data->approval_type_text; $data['project_manager'] = $project['project_manager'];
}) $data['approval_type_text'] = $data->approval_type_text;
->toArray(); $data['approval_user_name'] = $admin?->name;
} })
->toArray();
}
/** /**
* @notes 获取工程监理--监理规划数量 * @notes 获取工程监理--监理规划数量
* @return int * @return int
* @author likeadmin * @author likeadmin
* @date 2024/02/23 16:45 * @date 2024/02/23 16:45
*/ */
public function count(): int public function count(): int
{ {
return SupervisionPlanning::where($this->searchWhere)->count(); return SupervisionPlanning::where($this->searchWhere)->count();
} }
} }

View File

@ -12,77 +12,80 @@
// | 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 * Class SupervisionDeviceEntryLists
* @package app\adminapi\listssupervision_work * @package app\adminapi\listssupervision_work
*/ */
class SupervisionDeviceEntryLists extends BaseAdminDataLists implements ListsSearchInterface class SupervisionDeviceEntryLists extends BaseAdminDataLists implements ListsSearchInterface
{ {
/** /**
* @notes 设置搜索条件 * @notes 设置搜索条件
* @return \string[][] * @return \string[][]
* @author likeadmin * @author likeadmin
* @date 2024/02/28 16:12 * @date 2024/02/28 16:12
*/ */
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['project_id', 'enter_result'], '=' => ['project_id', 'enter_result'],
'%like%' => ['code'], '%like%' => ['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 16:12 * @date 2024/02/28 16:12
*/ */
public function lists(): array public function lists(): array
{ {
return SupervisionDeviceEntry::withoutField('update_time,delete_time')->where($this->searchWhere) return SupervisionDeviceEntry::withoutField('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['problem_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',4)->count(); $data['enter_result_text'] = $data->enter_result_text;
$data['reply_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',4)->where('is_rectification',1)->count(); $data['co_participant_name'] = $admin?->name;
}) $data['problem_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 4)->count();
->toArray(); $data['reply_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 4)->where('is_rectification', 1)->count();
} })
->toArray();
}
/** /**
* @notes 获取工程监理--设备进场数量 * @notes 获取工程监理--设备进场数量
* @return int * @return int
* @author likeadmin * @author likeadmin
* @date 2024/02/28 16:12 * @date 2024/02/28 16:12
*/ */
public function count(): int public function count(): int
{ {
return SupervisionDeviceEntry::where($this->searchWhere)->count(); return SupervisionDeviceEntry::where($this->searchWhere)->count();
} }
} }

View File

@ -12,70 +12,74 @@
// | 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 * Class SupervisionDiaryLists
* @package app\adminapi\listssupervision_work * @package app\adminapi\listssupervision_work
*/ */
class SupervisionDiaryLists extends BaseAdminDataLists implements ListsSearchInterface class SupervisionDiaryLists extends BaseAdminDataLists implements ListsSearchInterface
{ {
/** /**
* @notes 设置搜索条件 * @notes 设置搜索条件
* @return \string[][] * @return \string[][]
* @author likeadmin * @author likeadmin
* @date 2024/03/01 13:53 * @date 2024/03/01 13:53
*/ */
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['project_id'], '=' => ['project_id'],
'%like%' => ['user', 'director'], '%like%' => ['user', 'director'],
]; ];
} }
/** /**
* @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/03/01 13:53 * @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) return SupervisionDiary::withoutField('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();
$data['project_name'] = $project['project_name']; $admin = Admin::where('id', 'in', [$data['user'], $data['director']])->column('name', 'id');
}) $data['project_name'] = $project['project_name'];
->toArray(); $data['user_name'] = $admin[$data['user']] ?? '';
} $data['director_name'] = $admin[$data['director']] ?? '';
})
->toArray();
}
/** /**
* @notes 获取工程监理--监理日记数量 * @notes 获取工程监理--监理日记数量
* @return int * @return int
* @author likeadmin * @author likeadmin
* @date 2024/03/01 13:53 * @date 2024/03/01 13:53
*/ */
public function count(): int public function count(): int
{ {
return SupervisionDiary::where($this->searchWhere)->count(); return SupervisionDiary::where($this->searchWhere)->count();
} }
} }

View File

@ -12,83 +12,86 @@
// | 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 * Class SupervisionInspectionLists
* @package app\adminapi\listssupervision_work * @package app\adminapi\listssupervision_work
*/ */
class SupervisionInspectionLists extends BaseAdminDataLists implements ListsSearchInterface class SupervisionInspectionLists extends BaseAdminDataLists implements ListsSearchInterface
{ {
/** /**
* @notes 设置搜索条件 * @notes 设置搜索条件
* @return \string[][] * @return \string[][]
* @author likeadmin * @author likeadmin
* @date 2024/02/26 17:18 * @date 2024/02/26 17:18
*/ */
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['project_id', 'inspection_type'], '=' => ['project_id', 'inspection_type'],
'%like%' => ['inspection_code'], '%like%' => ['inspection_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/26 17:18 * @date 2024/02/26 17:18
*/ */
public function lists(): array public function lists(): array
{ {
return SupervisionInspection::withoutField('update_time,delete_time')->where($this->searchWhere) return SupervisionInspection::withoutField('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();
$check_item = SupervisionCheckItem::field('node_name')->where('id',$data['check_item_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(); $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'); $check_item_detail = SupervisionCheckItem::where('id', 'in', $data['check_item_detail_ids'])->column('node_name');
$data['project_name'] = $project['project_name']; $admin = Admin::where('id', 'in', [$data['inspection_user'], $data['follow_user']])->column('name', 'id');
$data['check_item_name'] = $check_item['node_name']; $data['project_name'] = $project['project_name'];
$data['company_name'] = $company['unit_name']; $data['check_item_name'] = $check_item['node_name'];
$data['check_item_detail_name'] = implode(',',$check_item_detail); $data['company_name'] = $company['unit_name'];
$data['inspection_type_text'] = $data->inspection_type_text; $data['check_item_detail_name'] = implode(',', $check_item_detail);
$data['is_important_text'] = $data->is_important_text; $data['inspection_type_text'] = $data->inspection_type_text;
$data['problem_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',1)->count(); $data['is_important_text'] = $data->is_important_text;
$data['reply_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',1)->where('is_rectification',1)->count(); $data['follow_user_name'] = $admin[$data['follow_user']] ?? '';
}) $data['problem_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 1)->count();
->toArray(); $data['reply_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 1)->where('is_rectification', 1)->count();
} })
->toArray();
}
/** /**
* @notes 获取工程监理--巡视登记数量 * @notes 获取工程监理--巡视登记数量
* @return int * @return int
* @author likeadmin * @author likeadmin
* @date 2024/02/26 17:18 * @date 2024/02/26 17:18
*/ */
public function count(): int public function count(): int
{ {
return SupervisionInspection::where($this->searchWhere)->count(); return SupervisionInspection::where($this->searchWhere)->count();
} }
} }

View File

@ -12,76 +12,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\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 获取材料进场数量 * @notes 获取材料进场数量
* @return int * @return int
* @author likeadmin * @author likeadmin
* @date 2024/02/28 13:41 * @date 2024/02/28 13:41
*/ */
public function count(): int public function count(): int
{ {
return SupervisionMaterialEntry::where($this->searchWhere)->count(); return SupervisionMaterialEntry::where($this->searchWhere)->count();
} }
} }

View File

@ -12,78 +12,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\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 * Class SupervisionMaterialParallelTestingLists
* @package app\adminapi\listssupervision_work * @package app\adminapi\listssupervision_work
*/ */
class SupervisionMaterialParallelTestingLists extends BaseAdminDataLists implements ListsSearchInterface class SupervisionMaterialParallelTestingLists extends BaseAdminDataLists implements ListsSearchInterface
{ {
/** /**
* @notes 设置搜索条件 * @notes 设置搜索条件
* @return \string[][] * @return \string[][]
* @author likeadmin * @author likeadmin
* @date 2024/02/29 15:00 * @date 2024/02/29 15:00
*/ */
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['project_id', 'material_entry_id'], '=' => ['project_id', 'material_entry_id'],
'%like%' => ['code', 'inspector'], '%like%' => ['code', 'inspector'],
]; ];
} }
/** /**
* @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 15:00 * @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) return SupervisionMaterialParallelTesting::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::field('name')->where('id', $data['inspector'])->findOrEmpty();
$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['inspector_name'] = $admin?->name;
} })
->toArray();
}
/** /**
* @notes 获取工程监理--材料平行检验数量 * @notes 获取工程监理--材料平行检验数量
* @return int * @return int
* @author likeadmin * @author likeadmin
* @date 2024/02/29 15:00 * @date 2024/02/29 15:00
*/ */
public function count(): int public function count(): int
{ {
return SupervisionMaterialParallelTesting::where($this->searchWhere)->count(); return SupervisionMaterialParallelTesting::where($this->searchWhere)->count();
} }
} }

View File

@ -12,73 +12,77 @@
// | 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 * Class SupervisionNoticeLists
* @package app\adminapi\listssupervision_work * @package app\adminapi\listssupervision_work
*/ */
class SupervisionNoticeLists extends BaseAdminDataLists implements ListsSearchInterface class SupervisionNoticeLists extends BaseAdminDataLists implements ListsSearchInterface
{ {
/** /**
* @notes 设置搜索条件 * @notes 设置搜索条件
* @return \string[][] * @return \string[][]
* @author likeadmin * @author likeadmin
* @date 2024/03/01 09:20 * @date 2024/03/01 09:20
*/ */
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['project_id'], '=' => ['project_id'],
'%like%' => ['code', 'notify_user'], '%like%' => ['code', 'notify_user'],
]; ];
} }
/** /**
* @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/03/01 09:20 * @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) return SupervisionNotice::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::where('id', 'in', [$data['notify_user'], $data['rectification_reply_user']])->column('name', 'id');
$data['company_name'] = $company['unit_name']; $data['project_name'] = $project['project_name'];
}) $data['company_name'] = $company['unit_name'];
->toArray(); $data['notify_user_name'] = $admin[$data['notify_user']] ?? '';
} $data['rectification_reply_user_name'] = $admin[$data['rectification_reply_user']] ?? '';
})
->toArray();
}
/** /**
* @notes 获取工程监理--监理通知单数量 * @notes 获取工程监理--监理通知单数量
* @return int * @return int
* @author likeadmin * @author likeadmin
* @date 2024/03/01 09:20 * @date 2024/03/01 09:20
*/ */
public function count(): int public function count(): int
{ {
return SupervisionNotice::where($this->searchWhere)->count(); return SupervisionNotice::where($this->searchWhere)->count();
} }
} }

View File

@ -12,83 +12,86 @@
// | 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 * Class SupervisionSideStationLists
* @package app\adminapi\listssupervision_work * @package app\adminapi\listssupervision_work
*/ */
class SupervisionSideStationLists extends BaseAdminDataLists implements ListsSearchInterface class SupervisionSideStationLists extends BaseAdminDataLists implements ListsSearchInterface
{ {
/** /**
* @notes 设置搜索条件 * @notes 设置搜索条件
* @return \string[][] * @return \string[][]
* @author likeadmin * @author likeadmin
* @date 2024/02/27 13:58 * @date 2024/02/27 13:58
*/ */
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['project_id', 'side_station_type'], '=' => ['project_id', 'side_station_type'],
'%like%' => ['side_station_code'], '%like%' => ['side_station_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/27 13:58 * @date 2024/02/27 13:58
*/ */
public function lists(): array public function lists(): array
{ {
return SupervisionSideStation::withoutField('update_time,delete_time')->where($this->searchWhere) return SupervisionSideStation::withoutField('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();
$check_item = SupervisionCheckItem::field('node_name')->where('id',$data['check_item_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(); $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'); $check_item_detail = SupervisionCheckItem::where('id', 'in', $data['check_item_detail_ids'])->column('node_name');
$data['project_name'] = $project['project_name']; $admin = Admin::field('name')->where('id', $data['side_station_user'])->findOrEmpty();
$data['check_item_name'] = $check_item['node_name']; $data['project_name'] = $project['project_name'];
$data['company_name'] = $company['unit_name']; $data['check_item_name'] = $check_item['node_name'];
$data['check_item_detail_name'] = implode(',',$check_item_detail); $data['company_name'] = $company['unit_name'];
$data['side_station_type_text'] = $data->side_station_type_text; $data['check_item_detail_name'] = implode(',', $check_item_detail);
$data['side_station_result_text'] = $data->side_station_result_text; $data['side_station_type_text'] = $data->side_station_type_text;
$data['problem_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',2)->count(); $data['side_station_result_text'] = $data->side_station_result_text;
$data['reply_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',2)->where('is_rectification',1)->count(); $data['side_station_user_name'] = $admin?->name;
}) $data['problem_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 2)->count();
->toArray(); $data['reply_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 2)->where('is_rectification', 1)->count();
} })
->toArray();
}
/** /**
* @notes 获取工程监理--旁站登记数量 * @notes 获取工程监理--旁站登记数量
* @return int * @return int
* @author likeadmin * @author likeadmin
* @date 2024/02/27 13:58 * @date 2024/02/27 13:58
*/ */
public function count(): int public function count(): int
{ {
return SupervisionSideStation::where($this->searchWhere)->count(); return SupervisionSideStation::where($this->searchWhere)->count();
} }
} }

View File

@ -12,77 +12,80 @@
// | 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 * Class SupervisionTestBlocksSpecimensLists
* @package app\adminapi\listssupervision_work * @package app\adminapi\listssupervision_work
*/ */
class SupervisionTestBlocksSpecimensLists extends BaseAdminDataLists implements ListsSearchInterface class SupervisionTestBlocksSpecimensLists extends BaseAdminDataLists implements ListsSearchInterface
{ {
/** /**
* @notes 设置搜索条件 * @notes 设置搜索条件
* @return \string[][] * @return \string[][]
* @author likeadmin * @author likeadmin
* @date 2024/02/29 14:02 * @date 2024/02/29 14:02
*/ */
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['project_id', 'test_result'], '=' => ['project_id', 'test_result'],
'%like%' => ['test_type', 'code', 'witness', 'test_site'], '%like%' => ['test_type', 'code', 'witness', 'test_site'],
]; ];
} }
/** /**
* @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 14:02 * @date 2024/02/29 14:02
*/ */
public function lists(): array public function lists(): array
{ {
return SupervisionTestBlocksSpecimens::withoutField('update_time,delete_time')->where($this->searchWhere) return SupervisionTestBlocksSpecimens::withoutField('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['witness'])->findOrEmpty();
$data['company_name'] = $company['unit_name']; $data['project_name'] = $project['project_name'];
$data['test_result_text'] = $data->test_result_text; $data['company_name'] = $company['unit_name'];
$data['problem_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',6)->count(); $data['test_result_text'] = $data->test_result_text;
$data['reply_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',6)->where('is_rectification',1)->count(); $data['witness_name'] = $admin?->name;
}) $data['problem_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 6)->count();
->toArray(); $data['reply_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 6)->where('is_rectification', 1)->count();
} })
->toArray();
}
/** /**
* @notes 获取工程监理--试块试件见证数量 * @notes 获取工程监理--试块试件见证数量
* @return int * @return int
* @author likeadmin * @author likeadmin
* @date 2024/02/29 14:02 * @date 2024/02/29 14:02
*/ */
public function count(): int public function count(): int
{ {
return SupervisionTestBlocksSpecimens::where($this->searchWhere)->count(); return SupervisionTestBlocksSpecimens::where($this->searchWhere)->count();
} }
} }

View File

@ -12,79 +12,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\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 获取工程监理--见证取样数量 * @notes 获取工程监理--见证取样数量
* @return int * @return int
* @author likeadmin * @author likeadmin
* @date 2024/02/29 09:22 * @date 2024/02/29 09:22
*/ */
public function count(): int public function count(): int
{ {
return SupervisionWitnessSampling::where($this->searchWhere)->count(); return SupervisionWitnessSampling::where($this->searchWhere)->count();
} }
} }

View File

@ -12,71 +12,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\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 * Class SupervisionWorkContactLists
* @package app\adminapi\listssupervision_work * @package app\adminapi\listssupervision_work
*/ */
class SupervisionWorkContactLists extends BaseAdminDataLists implements ListsSearchInterface class SupervisionWorkContactLists extends BaseAdminDataLists implements ListsSearchInterface
{ {
/** /**
* @notes 设置搜索条件 * @notes 设置搜索条件
* @return \string[][] * @return \string[][]
* @author likeadmin * @author likeadmin
* @date 2024/03/01 11:01 * @date 2024/03/01 11:01
*/ */
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['project_id'], '=' => ['project_id'],
'%like%' => ['code', 'initiator', 'theme', 'copy_user'], '%like%' => ['code', 'initiator', 'theme', 'copy_user'],
]; ];
} }
/** /**
* @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/03/01 11:01 * @date 2024/03/01 11:01
*/ */
public function lists(): array public function lists(): array
{ {
return SupervisionWorkContact::where($this->searchWhere) return SupervisionWorkContact::where($this->searchWhere)
->field(['id', 'project_id', 'code', 'initiator', 'initiation_date', 'theme', 'copy_user']) ->field(['id', 'project_id', 'code', 'initiator', 'initiation_date', 'theme', 'copy_user'])
->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();
$data['project_name'] = $project['project_name']; $admin = Admin::where('id', 'in', [$data['initiator'], $data['copy_user']])->column('name', 'id');
}) $data['project_name'] = $project['project_name'];
->toArray(); $data['initiator_name'] = $admin[$data['initiator']] ?? '';
} $data['copy_user_name'] = $admin[$data['copy_user']] ?? '';
})
->toArray();
}
/** /**
* @notes 获取工程监理--监理工作联系单数量 * @notes 获取工程监理--监理工作联系单数量
* @return int * @return int
* @author likeadmin * @author likeadmin
* @date 2024/03/01 11:01 * @date 2024/03/01 11:01
*/ */
public function count(): int public function count(): int
{ {
return SupervisionWorkContact::where($this->searchWhere)->count(); return SupervisionWorkContact::where($this->searchWhere)->count();
} }
} }

View File

@ -12,116 +12,119 @@
// | 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 * Class SupervisionPlanningLogic
* @package app\adminapi\logic\supervision_prepare * @package app\adminapi\logic\supervision_prepare
*/ */
class SupervisionPlanningLogic extends BaseLogic class SupervisionPlanningLogic extends BaseLogic
{ {
/** /**
* @notes 添加工程监理--监理规划 * @notes 添加工程监理--监理规划
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/02/23 16:45 * @date 2024/02/23 16:45
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
SupervisionPlanning::create([ SupervisionPlanning::create([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'approval_type' => $params['approval_type'], 'approval_type' => $params['approval_type'],
'approval_user' => $params['approval_user'], 'approval_user' => $params['approval_user'],
'scheme_name' => $params['scheme_name'], 'scheme_name' => $params['scheme_name'],
'approval_content' => $params['approval_content'], 'approval_content' => $params['approval_content'],
'remark' => $params['remark'], 'remark' => $params['remark'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_user' => $params['create_user'], 'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
]); ]);
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 编辑工程监理--监理规划 * @notes 编辑工程监理--监理规划
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/02/23 16:45 * @date 2024/02/23 16:45
*/ */
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
SupervisionPlanning::where('id', $params['id'])->update([ SupervisionPlanning::where('id', $params['id'])->update([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'approval_type' => $params['approval_type'], 'approval_type' => $params['approval_type'],
'approval_user' => $params['approval_user'], 'approval_user' => $params['approval_user'],
'scheme_name' => $params['scheme_name'], 'scheme_name' => $params['scheme_name'],
'approval_content' => $params['approval_content'], 'approval_content' => $params['approval_content'],
'remark' => $params['remark'], 'remark' => $params['remark'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_user' => $params['create_user'], 'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
'update_time' => time(), 'update_time' => time(),
]); ]);
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 删除工程监理--监理规划 * @notes 删除工程监理--监理规划
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/02/23 16:45 * @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 获取工程监理--监理规划详情 * @notes 获取工程监理--监理规划详情
* @param $params * @param $params
* @return array * @return array
* @author likeadmin * @author likeadmin
* @date 2024/02/23 16:45 * @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']); $data = SupervisionPlanning::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$project = SupervisionProject::field('project_name,project_manager')->where('id',$data['project_id'])->findOrEmpty(); $project = SupervisionProject::field('project_name,project_manager')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $admin = Admin::field('name')->where('id', $data['approval_user'])->findOrEmpty();
$data['project_manager'] = $project['project_manager']; $data['project_name'] = $project['project_name'];
$data['approval_type_text'] = $data->approval_type_text; $data['project_manager'] = $project['project_manager'];
return $data->toArray(); $data['approval_type_text'] = $data->approval_type_text;
} $data['approval_user_name'] = $admin?->name;
} return $data->toArray();
}
}

View File

@ -12,126 +12,54 @@
// | 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 * Class SupervisionDeviceEntryLogic
* @package app\adminapi\logic\supervision_work * @package app\adminapi\logic\supervision_work
*/ */
class SupervisionDeviceEntryLogic extends BaseLogic class SupervisionDeviceEntryLogic extends BaseLogic
{ {
/** /**
* @notes 添加工程监理--设备进场 * @notes 添加工程监理--设备进场
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/02/28 16:12 * @date 2024/02/28 16:12
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
$res = SupervisionDeviceEntry::create([ $res = SupervisionDeviceEntry::create([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'code' => data_unique_code('SBJC'), 'code' => data_unique_code('SBJC'),
'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0, 'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0,
'company_id' => $params['company_id'], 'company_id' => $params['company_id'],
'enter_result' => $params['enter_result'], 'enter_result' => $params['enter_result'],
'co_participant' => $params['co_participant'], 'co_participant' => $params['co_participant'],
'remark' => $params['remark'], 'remark' => $params['remark'],
'create_user' => $params['create_user'], 'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
]); ]);
if(!empty($params['entry_detail'])){ if (!empty($params['entry_detail'])) {
foreach($params['entry_detail'] as $v){ foreach ($params['entry_detail'] as $v) {
SupervisionDeviceEntryDetail::create([
'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;
}
return SupervisionDeviceEntry::destroy($params['id']);
}
/** /**
* @notes 获取工程监理--设备进场详情 * @notes 编辑工程监理--设备进场
* @param $params * @param array $params
* @return array * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/02/28 16:12 * @date 2024/02/28 16:12
*/ */
public static function detail($params): array public static function edit(array $params): bool
{ {
$data = SupervisionDeviceEntry::withoutField('update_time,delete_time')->findOrEmpty($params['id']); Db::startTrans();
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); try {
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); SupervisionDeviceEntry::where('id', $params['id'])->update([
$data['project_name'] = $project['project_name']; 'project_id' => $params['project_id'],
$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; 'company_id' => $params['company_id'],
return $data->toArray(); '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([
'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

@ -12,120 +12,124 @@
// | 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 * Class SupervisionDiaryLogic
* @package app\adminapi\logic\supervision_work * @package app\adminapi\logic\supervision_work
*/ */
class SupervisionDiaryLogic extends BaseLogic class SupervisionDiaryLogic extends BaseLogic
{ {
/** /**
* @notes 添加工程监理--监理日记 * @notes 添加工程监理--监理日记
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/03/01 13:53 * @date 2024/03/01 13:53
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
SupervisionDiary::create([ SupervisionDiary::create([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'date' => !empty($params['date']) ? strtotime($params['date']) : 0, 'date' => !empty($params['date']) ? strtotime($params['date']) : 0,
'week' => $params['week'], 'week' => $params['week'],
'air_temperature' => $params['air_temperature'], 'air_temperature' => $params['air_temperature'],
'climate' => $params['climate'], 'climate' => $params['climate'],
'user' => $params['user'], 'user' => $params['user'],
'director' => $params['director'], 'director' => $params['director'],
'engineering_dynamics' => $params['engineering_dynamics'], 'engineering_dynamics' => $params['engineering_dynamics'],
'supervision_work' => $params['supervision_work'], 'supervision_work' => $params['supervision_work'],
'construction_situation' => $params['construction_situation'], 'construction_situation' => $params['construction_situation'],
'other_matters' => $params['other_matters'], 'other_matters' => $params['other_matters'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]); ]);
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 编辑工程监理--监理日记 * @notes 编辑工程监理--监理日记
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/03/01 13:53 * @date 2024/03/01 13:53
*/ */
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
SupervisionDiary::where('id', $params['id'])->update([ SupervisionDiary::where('id', $params['id'])->update([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'date' => !empty($params['date']) ? strtotime($params['date']) : 0, 'date' => !empty($params['date']) ? strtotime($params['date']) : 0,
'week' => $params['week'], 'week' => $params['week'],
'air_temperature' => $params['air_temperature'], 'air_temperature' => $params['air_temperature'],
'climate' => $params['climate'], 'climate' => $params['climate'],
'user' => $params['user'], 'user' => $params['user'],
'director' => $params['director'], 'director' => $params['director'],
'engineering_dynamics' => $params['engineering_dynamics'], 'engineering_dynamics' => $params['engineering_dynamics'],
'supervision_work' => $params['supervision_work'], 'supervision_work' => $params['supervision_work'],
'construction_situation' => $params['construction_situation'], 'construction_situation' => $params['construction_situation'],
'other_matters' => $params['other_matters'], 'other_matters' => $params['other_matters'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'update_time' => time(), 'update_time' => time(),
]); ]);
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 删除工程监理--监理日记 * @notes 删除工程监理--监理日记
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/03/01 13:53 * @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 获取工程监理--监理日记详情 * @notes 获取工程监理--监理日记详情
* @param $params * @param $params
* @return array * @return array
* @author likeadmin * @author likeadmin
* @date 2024/03/01 13:53 * @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']); $data = SupervisionDiary::withoutField('create_time,update_time,delete_time')->findOrEmpty($params['id']);
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $admin = Admin::where('id', 'in', [$data['user'], $data['director']])->column('name', 'id');
return $data->toArray(); $data['project_name'] = $project['project_name'];
} $data['user_name'] = $admin[$data['user']] ?? '';
} $data['director_name'] = $admin[$data['director']] ?? '';
return $data->toArray();
}
}

View File

@ -12,163 +12,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\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 * Class SupervisionInspectionLogic
* @package app\adminapi\logic\supervision_work * @package app\adminapi\logic\supervision_work
*/ */
class SupervisionInspectionLogic extends BaseLogic class SupervisionInspectionLogic extends BaseLogic
{ {
/** /**
* @notes 添加工程监理--巡视登记 * @notes 添加工程监理--巡视登记
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/02/26 17:18 * @date 2024/02/26 17:18
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
$res = SupervisionInspection::create([ $res = SupervisionInspection::create([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'inspection_code' => data_unique_code('XS'), 'inspection_code' => data_unique_code('XS'),
'inspection_type' => $params['inspection_type'], 'inspection_type' => $params['inspection_type'],
'check_item_id' => $params['check_item_id'], 'check_item_id' => $params['check_item_id'],
'inspection_position' => $params['inspection_position'], 'inspection_position' => $params['inspection_position'],
'workers' => $params['workers'], 'workers' => $params['workers'],
'managers' => $params['managers'], 'managers' => $params['managers'],
'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0, 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0,
'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0, 'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0,
'inspection_user' => $params['inspection_user'], 'inspection_user' => $params['inspection_user'],
'company_id' => $params['company_id'], 'company_id' => $params['company_id'],
'inspection_content' => $params['inspection_content'], 'inspection_content' => $params['inspection_content'],
'is_important' => $params['is_important'], 'is_important' => $params['is_important'],
'follow_user' => $params['follow_user'], 'follow_user' => $params['follow_user'],
'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : null, '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, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_user' => $params['create_user'], 'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
]); ]);
if(!empty($params['inspection_result'])){ if (!empty($params['inspection_result'])) {
foreach($params['inspection_result'] as $v){ foreach ($params['inspection_result'] as $v) {
SupervisionInspectionResult::create([
'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 获取工程监理--巡视登记详情 * @notes 编辑工程监理--巡视登记
* @param $params * @param array $params
* @return array * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/02/26 17:18 * @date 2024/02/26 17:18
*/ */
public static function detail($params): array public static function edit(array $params): bool
{ {
$data = SupervisionInspection::withoutField('update_time,delete_time')->findOrEmpty($params['id']); $data = SupervisionInspection::field('check_item_detail_ids')->where('id', $params['id'])->findOrEmpty();
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); Db::startTrans();
$check_item = SupervisionCheckItem::field('node_name')->where('id',$data['check_item_id'])->findOrEmpty(); try {
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); SupervisionInspection::where('id', $params['id'])->update([
$check_item_detail = SupervisionCheckItem::where('id','in',$data['check_item_detail_ids'])->column('node_name'); 'project_id' => $params['project_id'],
$data['project_name'] = $project['project_name']; 'inspection_type' => $params['inspection_type'],
$data['check_item_name'] = $check_item['node_name']; 'check_item_id' => $params['check_item_id'],
$data['company_name'] = $company['unit_name']; 'inspection_position' => $params['inspection_position'],
$data['check_item_detail_name'] = implode(',',$check_item_detail); 'workers' => $params['workers'],
$data['inspection_type_text'] = $data->inspection_type_text; 'managers' => $params['managers'],
$data['is_important_text'] = $data->is_important_text; 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0,
return $data->toArray(); '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([
'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

@ -12,113 +12,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\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 * Class SupervisionMaterialEntryLogic
* @package app\adminapi\logic\supervision_work * @package app\adminapi\logic\supervision_work
*/ */
class SupervisionMaterialEntryLogic extends BaseLogic class SupervisionMaterialEntryLogic extends BaseLogic
{ {
/** /**
* @notes 添加材料进场 * @notes 添加材料进场
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/02/28 13:41 * @date 2024/02/28 13:41
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
$res = SupervisionMaterialEntry::create([ $res = SupervisionMaterialEntry::create([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'company_id' => $params['company_id'], 'company_id' => $params['company_id'],
'theme' => $params['theme'], 'theme' => $params['theme'],
'code' => data_unique_code('CLJC'), 'code' => data_unique_code('CLJC'),
'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0, 'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0,
'co_participant' => $params['co_participant'], 'co_participant' => $params['co_participant'],
'enter_result' => $params['enter_result'], 'enter_result' => $params['enter_result'],
'parallel_test' => $params['parallel_test'], 'parallel_test' => $params['parallel_test'],
'remark' => $params['remark'], 'remark' => $params['remark'],
'create_user' => $params['create_user'], 'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
]); ]);
if(!empty($params['entry_detail'])){ if (!empty($params['entry_detail'])) {
foreach($params['entry_detail'] as $v) { foreach ($params['entry_detail'] as $v) {
SupervisionMaterialEntryDetail::create([
'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 获取材料进场详情 * @notes 编辑材料进场
* @param $params * @param array $params
* @return array * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/02/28 13:41 * @date 2024/02/28 13:41
*/ */
public static function detail($params): array public static function edit(array $params): bool
{ {
$data = SupervisionMaterialEntry::withoutField('update_time,delete_time')->findOrEmpty($params['id']); Db::startTrans();
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); try {
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); SupervisionMaterialEntry::where('id', $params['id'])->update([
$data['project_name'] = $project['project_name']; 'project_id' => $params['project_id'],
$data['company_name'] = $company['unit_name']; 'company_id' => $params['company_id'],
$data['enter_result_text'] = $data->enter_result_text; 'theme' => $params['theme'],
$data['parallel_test_text'] = $data->parallel_test_text; 'enter_time' => !empty($params['enter_time']) ? strtotime($params['enter_time']) : 0,
return $data->toArray(); '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([
'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;
}
}
public static function datas()
{ /**
$datas = SupervisionMaterialEntry::field(['id', 'code']) * @notes 删除材料进场
->order(['id' => 'desc']) * @param array $params
->select()->each(function($data){ * @return bool
$data['projectinfo'] = 'ID' . $data['id'] . ' / 编码:' . $data['code']; * @author likeadmin
}) * @date 2024/02/28 13:41
->toArray(); */
return $datas; 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

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

View File

@ -12,120 +12,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\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 * Class SupervisionMeetingMinutesLogic
* @package app\adminapi\logic\supervision_work * @package app\adminapi\logic\supervision_work
*/ */
class SupervisionMeetingMinutesLogic extends BaseLogic class SupervisionMeetingMinutesLogic extends BaseLogic
{ {
/** /**
* @notes 添加工程监理--会议纪要 * @notes 添加工程监理--会议纪要
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/03/01 14:31 * @date 2024/03/01 14:31
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
SupervisionMeetingMinutes::create([ SupervisionMeetingMinutes::create([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'theme' => $params['theme'], 'theme' => $params['theme'],
'type' => $params['type'], 'type' => $params['type'],
'time' => !empty($params['time']) ? strtotime($params['time']) : 0, 'time' => !empty($params['time']) ? strtotime($params['time']) : 0,
'emcee' => $params['emcee'], 'emcee' => $params['emcee'],
'recorder' => $params['recorder'], 'recorder' => $params['recorder'],
'location' => $params['location'], 'location' => $params['location'],
'attendees' => $params['attendees'], 'attendees' => $params['attendees'],
'content' => $params['content'], 'content' => $params['content'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_user' => $params['create_user'], 'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
]); ]);
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 编辑工程监理--会议纪要 * @notes 编辑工程监理--会议纪要
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/03/01 14:31 * @date 2024/03/01 14:31
*/ */
public static function edit(array $params): bool public static function edit(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
SupervisionMeetingMinutes::where('id', $params['id'])->update([ SupervisionMeetingMinutes::where('id', $params['id'])->update([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'theme' => $params['theme'], 'theme' => $params['theme'],
'type' => $params['type'], 'type' => $params['type'],
'time' => !empty($params['time']) ? strtotime($params['time']) : 0, 'time' => !empty($params['time']) ? strtotime($params['time']) : 0,
'emcee' => $params['emcee'], 'emcee' => $params['emcee'],
'recorder' => $params['recorder'], 'recorder' => $params['recorder'],
'location' => $params['location'], 'location' => $params['location'],
'attendees' => $params['attendees'], 'attendees' => $params['attendees'],
'content' => $params['content'], 'content' => $params['content'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_user' => $params['create_user'], 'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
'update_time' => time() 'update_time' => time()
]); ]);
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 删除工程监理--会议纪要 * @notes 删除工程监理--会议纪要
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/03/01 14:31 * @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 获取工程监理--会议纪要详情 * @notes 获取工程监理--会议纪要详情
* @param $params * @param $params
* @return array * @return array
* @author likeadmin * @author likeadmin
* @date 2024/03/01 14:31 * @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']); $data = SupervisionMeetingMinutes::withoutField('update_time,delete_time')->findOrEmpty($params['id']);
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); $project = SupervisionProject::field('project_name')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['project_name']; $admin = Admin::where('id', 'in', [$data['emcee'], $data['recorder']])->column('name', 'id');
return $data->toArray(); $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

@ -12,177 +12,181 @@
// | 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 编辑工程监理--监理通知单
* @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
* @return bool
* @author likeadmin
* @date 2024/03/01 09:20
*/
public static function reply(array $params): bool
{
Db::startTrans();
try {
SupervisionNotice::where('id', $params['id'])->update([
'rectification_reply_time' => !empty($params['rectification_reply_time']) ? strtotime($params['rectification_reply_time']) : 0,
'rectification_reply_user' => $params['rectification_reply_user'],
'rectification_reply_opinions' => $params['rectification_reply_opinions'],
'rectification_reply_annex' => $params['rectification_reply_annex'] ? json_encode($params['rectification_reply_annex']) : null,
]);
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();
} }
} }
/**
* @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();
$data['project_name'] = $project['project_name'];
$data['company_name'] = $company['unit_name'];
return $data->toArray();
}
}

View File

@ -12,162 +12,74 @@
// | 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 * Class SupervisionSideStationLogic
* @package app\adminapi\logic\supervision_work * @package app\adminapi\logic\supervision_work
*/ */
class SupervisionSideStationLogic extends BaseLogic class SupervisionSideStationLogic extends BaseLogic
{ {
/** /**
* @notes 添加工程监理--旁站登记 * @notes 添加工程监理--旁站登记
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/02/27 13:58 * @date 2024/02/27 13:58
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
$res = SupervisionSideStation::create([ $res = SupervisionSideStation::create([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'side_station_code' => data_unique_code('PZ'), 'side_station_code' => data_unique_code('PZ'),
'side_station_type' => $params['side_station_type'], 'side_station_type' => $params['side_station_type'],
'check_item_id' => $params['check_item_id'], 'check_item_id' => $params['check_item_id'],
'position' => $params['position'], 'position' => $params['position'],
'company_id' => $params['company_id'], 'company_id' => $params['company_id'],
'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0, 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0,
'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0, 'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0,
'workers' => $params['workers'], 'workers' => $params['workers'],
'managers' => $params['managers'], 'managers' => $params['managers'],
'situation' => $params['situation'], 'situation' => $params['situation'],
'side_station_result' => $params['side_station_result'], 'side_station_result' => $params['side_station_result'],
'side_station_user' => $params['side_station_user'], 'side_station_user' => $params['side_station_user'],
'check_item_detail_ids' => $params['check_item_detail_ids'] ? json_encode($params['check_item_detail_ids']) : null, '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, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_user' => $params['create_user'], 'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
]); ]);
if(!empty($params['side_result'])){ if (!empty($params['side_result'])) {
foreach($params['side_result'] as $v){ foreach ($params['side_result'] as $v) {
SupervisionSideStationResult::create([
'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;
}
return SupervisionSideStation::destroy($params['id']);
}
/** /**
* @notes 获取工程监理--旁站登记详情 * @notes 编辑工程监理--旁站登记
* @param $params * @param array $params
* @return array * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/02/27 13:58 * @date 2024/02/27 13:58
*/ */
public static function detail($params): array public static function edit(array $params): bool
{ {
$data = SupervisionSideStation::withoutField('update_time,delete_time')->findOrEmpty($params['id']); $data = SupervisionSideStation::field('check_item_detail_ids')->where('id', $params['id'])->findOrEmpty();
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); Db::startTrans();
$check_item = SupervisionCheckItem::field('node_name')->where('id',$data['check_item_id'])->findOrEmpty(); try {
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$data['company_id'])->findOrEmpty(); SupervisionSideStation::where('id', $params['id'])->update([
$check_item_detail = SupervisionCheckItem::where('id','in',$data['check_item_detail_ids'])->column('node_name'); 'project_id' => $params['project_id'],
$data['project_name'] = $project['project_name']; 'side_station_type' => $params['side_station_type'],
$data['check_item_name'] = $check_item['node_name']; 'check_item_id' => $params['check_item_id'],
$data['company_name'] = $company['unit_name']; 'position' => $params['position'],
$data['check_item_detail_name'] = implode(',',$check_item_detail); 'company_id' => $params['company_id'],
$data['side_station_type_text'] = $data->side_station_type_text; 'start_time' => !empty($params['start_time']) ? strtotime($params['start_time']) : 0,
$data['side_station_result_text'] = $data->side_station_result_text; 'end_time' => !empty($params['end_time']) ? strtotime($params['end_time']) : 0,
return $data->toArray(); '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([
'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

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

View File

@ -12,154 +12,158 @@
// | 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 * Class SupervisionWitnessSamplingLogic
* @package app\adminapi\logic\supervision_work * @package app\adminapi\logic\supervision_work
*/ */
class SupervisionWitnessSamplingLogic extends BaseLogic class SupervisionWitnessSamplingLogic extends BaseLogic
{ {
/** /**
* @notes 添加工程监理--见证取样 * @notes 添加工程监理--见证取样
* @param array $params * @param array $params
* @return bool * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/02/29 09:22 * @date 2024/02/29 09:22
*/ */
public static function add(array $params): bool public static function add(array $params): bool
{ {
Db::startTrans(); Db::startTrans();
try { try {
$res = SupervisionWitnessSampling::create([ $res = SupervisionWitnessSampling::create([
'project_id' => $params['project_id'], 'project_id' => $params['project_id'],
'material_entry_id' => $params['material_entry_id'], 'material_entry_id' => $params['material_entry_id'],
'code' => data_unique_code('JZQY'), 'code' => data_unique_code('JZQY'),
'sampling_date' => !empty($params['sampling_date']) ? strtotime($params['sampling_date']) : 0, 'sampling_date' => !empty($params['sampling_date']) ? strtotime($params['sampling_date']) : 0,
'witness' => $params['witness'], 'witness' => $params['witness'],
'sampler' => $params['sampler'], 'sampler' => $params['sampler'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'create_user' => $params['create_user'], 'create_user' => $params['create_user'],
'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(), 'create_time' => !empty($params['create_time']) ? strtotime($params['create_time']) : time(),
]); ]);
if(!empty($params['sampling_detail'])){ if (!empty($params['sampling_detail'])) {
foreach($params['sampling_detail'] as $v){ foreach ($params['sampling_detail'] as $v) {
SupervisionWitnessSamplingDetail::create([
'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 获取工程监理--见证取样详情 * @notes 编辑工程监理--见证取样
* @param $params * @param array $params
* @return array * @return bool
* @author likeadmin * @author likeadmin
* @date 2024/02/29 09:22 * @date 2024/02/29 09:22
*/ */
public static function detail($params): array public static function edit(array $params): bool
{ {
$data = SupervisionWitnessSampling::withoutField('update_time,delete_time')->findOrEmpty($params['id']); Db::startTrans();
$project = SupervisionProject::field('project_name')->where('id',$data['project_id'])->findOrEmpty(); try {
$material_entry = SupervisionMaterialEntry::field('theme,company_id,enter_time')->where('id',$data['material_entry_id'])->findOrEmpty(); SupervisionWitnessSampling::where('id', $params['id'])->update([
$company = SupervisionParticipatingUnits::field('unit_name')->where('id',$material_entry['company_id'])->findOrEmpty(); 'project_id' => $params['project_id'],
$data['project_name'] = $project['project_name']; 'material_entry_id' => $params['material_entry_id'],
$data['company_name'] = $company['unit_name']; 'sampling_date' => !empty($params['sampling_date']) ? strtotime($params['sampling_date']) : 0,
$data['material_entry_name'] = $material_entry['theme']; 'witness' => $params['witness'],
$data['enter_time'] = $material_entry['enter_time']; 'sampler' => $params['sampler'],
return $data->toArray(); '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([
'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

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