diff --git a/app/adminapi/lists/ApprovalIssuanceAchievementDocumentsLists.php b/app/adminapi/lists/ApprovalIssuanceAchievementDocumentsLists.php index cf0929846..2987969e7 100644 --- a/app/adminapi/lists/ApprovalIssuanceAchievementDocumentsLists.php +++ b/app/adminapi/lists/ApprovalIssuanceAchievementDocumentsLists.php @@ -11,94 +11,97 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\lists; - - -use app\adminapi\lists\BaseAdminDataLists; -use app\common\lists\ListsExcelInterface; -use app\common\model\ApprovalIssuanceAchievementDocuments; -use app\common\lists\ListsSearchInterface; - - -/** - * ApprovalIssuanceAchievementDocuments列表 - * Class ApprovalIssuanceAchievementDocumentsLists - * @package app\adminapi\lists - */ -class ApprovalIssuanceAchievementDocumentsLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface -{ - - - /** - * @notes 设置搜索条件 - * @return \string[][] - * @author likeadmin - * @date 2024/02/22 17:57 - */ - public function setSearch(): array - { - return [ - '=' => ['project_id'], - '%like%' => ['task','num'] - ]; - } - - - /** - * @notes 获取列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2024/02/22 17:57 - */ - public function lists(): array - { - return ApprovalIssuanceAchievementDocuments::where($this->searchWhere) - ->with(['projectInfo']) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select() - ->toArray(); - } - - - /** - * @notes 获取数量 - * @return int - * @author likeadmin - * @date 2024/02/22 17:57 - */ - public function count(): int - { - return ApprovalIssuanceAchievementDocuments::where($this->searchWhere)->count(); - } - - public function setFileName(): string - { - return '成果文件审定、签发'; - } - - /** - * @notes 导出字段 - * @return string[] - * @author 段誉 - * @date 2022/11/24 16:17 - */ - public function setExcelFields(): array - { - return [ - 'id' => 'id', - 'num' => '单据编号', - 'project_id' => '项目id', - 'task' => '任务名称', - 'processes' => '工序', - 'number' => '资料份数', - 'apptime' => '登记日期', - 'person' => '登记人', - 'tips' => '备注', - ]; - } -} \ No newline at end of file + + namespace app\adminapi\lists; + + + use app\common\lists\ListsExcelInterface; + use app\common\lists\ListsSearchInterface; + use app\common\model\ApprovalIssuanceAchievementDocuments; + use app\common\model\auth\Admin; + + + /** + * ApprovalIssuanceAchievementDocuments列表 + * Class ApprovalIssuanceAchievementDocumentsLists + * @package app\adminapi\lists + */ + class ApprovalIssuanceAchievementDocumentsLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface + { + + + /** + * @notes 设置搜索条件 + * @return \string[][] + * @author likeadmin + * @date 2024/02/22 17:57 + */ + public function setSearch(): array + { + return [ + '=' => ['project_id'], + '%like%' => ['task', 'num'] + ]; + } + + + /** + * @notes 获取列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/02/22 17:57 + */ + public function lists(): array + { + return ApprovalIssuanceAchievementDocuments::where($this->searchWhere) + ->with(['projectInfo']) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $head = Admin::field('name')->where('id', $data['person'])->findOrEmpty(); + $data['person_name'] = $head?->name; + }) + ->toArray(); + } + + + /** + * @notes 获取数量 + * @return int + * @author likeadmin + * @date 2024/02/22 17:57 + */ + public function count(): int + { + return ApprovalIssuanceAchievementDocuments::where($this->searchWhere)->count(); + } + + public function setFileName(): string + { + return '成果文件审定、签发'; + } + + /** + * @notes 导出字段 + * @return string[] + * @author 段誉 + * @date 2022/11/24 16:17 + */ + public function setExcelFields(): array + { + return [ + 'id' => 'id', + 'num' => '单据编号', + 'project_id' => '项目id', + 'task' => '任务名称', + 'processes' => '工序', + 'number' => '资料份数', + 'apptime' => '登记日期', + 'person' => '登记人', + 'tips' => '备注', + ]; + } + } \ No newline at end of file diff --git a/app/adminapi/lists/TaskHandlingThreeLevelReviewLists.php b/app/adminapi/lists/TaskHandlingThreeLevelReviewLists.php index 7203807d1..68268d02c 100644 --- a/app/adminapi/lists/TaskHandlingThreeLevelReviewLists.php +++ b/app/adminapi/lists/TaskHandlingThreeLevelReviewLists.php @@ -11,126 +11,129 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\lists; - - -use app\adminapi\lists\BaseAdminDataLists; -use app\common\lists\ListsExcelInterface; -use app\common\model\TaskHandlingThreeLevelReview; -use app\common\lists\ListsSearchInterface; - - -/** - * TaskHandlingThreeLevelReview列表 - * Class TaskHandlingThreeLevelReviewLists - * @package app\adminapi\lists - */ -class TaskHandlingThreeLevelReviewLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface -{ - - - /** - * @notes 设置搜索条件 - * @return \string[][] - * @author likeadmin - * @date 2024/02/22 17:18 - */ - public function setSearch(): array - { - return [ - - ]; - } - - - /** - * @notes 获取列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2024/02/22 17:18 - */ - public function lists(): array - { - $params = $this->request->get(); - return TaskHandlingThreeLevelReview::where($this->searchWhere) - ->where(function ($query) use($params) { - if (!empty($params['kg_start_time']) && !empty($params['kg_end_time'])) { - $query->whereBetweenTime('kaigong', $params['kg_start_time'], $params['kg_end_time']); - } - if (!empty($params['jg_start_time']) && !empty($params['jg_end_time'])) { - $query->whereBetweenTime('jungong', $params['jg_start_time'], $params['jg_end_time']); - } - }) - ->with(['projectInfo']) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select() - ->toArray(); - } - - - /** - * @notes 获取数量 - * @return int - * @author likeadmin - * @date 2024/02/22 17:18 - */ - public function count(): int - { - return TaskHandlingThreeLevelReview::where($this->searchWhere)->count(); - } - - public function setFileName(): string - { - return '任务办理与三级审核'; - } - - /** - * @notes 导出字段 - * @return string[] - * @author 段誉 - * @date 2022/11/24 16:17 - */ - public function setExcelFields(): array - { - return [ - 'id' => 'id', - 'num' => '单据编号', - 'project_id' => '项目id', - 'task' => '任务名称', - 'processes' => '工序', - 'rtype' => '任务类型', - 'zType' => '专业类型', - 'engineer' => '工程师', - 'head' => '项目负责人', - 'examine' => '审核流程', - 'one' => '一级审核人', - 'two' => '二级审核人', - 'three' => '三级审核人', - 'apptime' => '登记日期', - 'level' => '任务级次', - 'area' => '建筑面积', - 'type' => '建筑结构类型', - 'use' => '建筑用途', - 'construction' => '施工单位', - 'ask' => '编制要求', - 'according' => '造价依据', - 'clbc' => '材料补差', - 'ssje' => '送审金额', - 'gcshd' => '工程师核定价', - 'hzhj' => '核增/核减金额', - 'rg' => '人工单价', - 'xmhd' => '项目负责人核定价', - 'bmhd' => '部门负责人核定价', - 'shbhd' => '审核部核定价', - 'kaigong' => '开工日期', - 'jungong' => '竣工日期', - 'bz' => '备注', - ]; - } - -} \ No newline at end of file + + namespace app\adminapi\lists; + + + use app\common\lists\ListsExcelInterface; + use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; + use app\common\model\TaskHandlingThreeLevelReview; + + + /** + * TaskHandlingThreeLevelReview列表 + * Class TaskHandlingThreeLevelReviewLists + * @package app\adminapi\lists + */ + class TaskHandlingThreeLevelReviewLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface + { + + + /** + * @notes 设置搜索条件 + * @return \string[][] + * @author likeadmin + * @date 2024/02/22 17:18 + */ + public function setSearch(): array + { + return [ + + ]; + } + + + /** + * @notes 获取列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/02/22 17:18 + */ + public function lists(): array + { + $params = $this->request->get(); + return TaskHandlingThreeLevelReview::where($this->searchWhere) + ->where(function ($query) use ($params) { + if (!empty($params['kg_start_time']) && !empty($params['kg_end_time'])) { + $query->whereBetweenTime('kaigong', $params['kg_start_time'], $params['kg_end_time']); + } + if (!empty($params['jg_start_time']) && !empty($params['jg_end_time'])) { + $query->whereBetweenTime('jungong', $params['jg_start_time'], $params['jg_end_time']); + } + }) + ->with(['projectInfo']) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $head = Admin::field('name')->where('id', $data['head'])->findOrEmpty(); + $data['head_name'] = $head?->name; + }) + ->toArray(); + } + + + /** + * @notes 获取数量 + * @return int + * @author likeadmin + * @date 2024/02/22 17:18 + */ + public function count(): int + { + return TaskHandlingThreeLevelReview::where($this->searchWhere)->count(); + } + + public function setFileName(): string + { + return '任务办理与三级审核'; + } + + /** + * @notes 导出字段 + * @return string[] + * @author 段誉 + * @date 2022/11/24 16:17 + */ + public function setExcelFields(): array + { + return [ + 'id' => 'id', + 'num' => '单据编号', + 'project_id' => '项目id', + 'task' => '任务名称', + 'processes' => '工序', + 'rtype' => '任务类型', + 'zType' => '专业类型', + 'engineer' => '工程师', + 'head' => '项目负责人', + 'examine' => '审核流程', + 'one' => '一级审核人', + 'two' => '二级审核人', + 'three' => '三级审核人', + 'apptime' => '登记日期', + 'level' => '任务级次', + 'area' => '建筑面积', + 'type' => '建筑结构类型', + 'use' => '建筑用途', + 'construction' => '施工单位', + 'ask' => '编制要求', + 'according' => '造价依据', + 'clbc' => '材料补差', + 'ssje' => '送审金额', + 'gcshd' => '工程师核定价', + 'hzhj' => '核增/核减金额', + 'rg' => '人工单价', + 'xmhd' => '项目负责人核定价', + 'bmhd' => '部门负责人核定价', + 'shbhd' => '审核部核定价', + 'kaigong' => '开工日期', + 'jungong' => '竣工日期', + 'bz' => '备注', + ]; + } + + } \ No newline at end of file diff --git a/app/adminapi/logic/ApprovalIssuanceAchievementDocumentsLogic.php b/app/adminapi/logic/ApprovalIssuanceAchievementDocumentsLogic.php index bd06c26df..8116daf50 100644 --- a/app/adminapi/logic/ApprovalIssuanceAchievementDocumentsLogic.php +++ b/app/adminapi/logic/ApprovalIssuanceAchievementDocumentsLogic.php @@ -11,116 +11,120 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic; - - -use app\common\model\ApprovalIssuanceAchievementDocuments; -use app\common\logic\BaseLogic; -use think\facade\Db; - - -/** - * ApprovalIssuanceAchievementDocuments逻辑 - * Class ApprovalIssuanceAchievementDocumentsLogic - * @package app\adminapi\logic - */ -class ApprovalIssuanceAchievementDocumentsLogic extends BaseLogic -{ - - - /** - * @notes 添加 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/22 17:57 - */ - public static function add(array $params): bool - { - Db::startTrans(); - try { - ApprovalIssuanceAchievementDocuments::create([ - 'dataid' => generate_sn(ApprovalIssuanceAchievementDocuments::class, 'dataid'), - 'num' => generate_sn(ApprovalIssuanceAchievementDocuments::class, 'num'), - 'project_id' => $params['project_id'], - 'task' => $params['task'], - 'processes' => $params['processes'], - 'number' => $params['number'], - 'apptime' => $params['apptime'], - 'person' => $params['person'], - 'tips' => $params['tips'], - 'fd_1' => $params['fd_1'], - 'fd_2' => $params['fd_2'], - 'fd_3' => $params['fd_3'], - ]); - - 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/22 17:57 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - ApprovalIssuanceAchievementDocuments::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'task' => $params['task'], - 'processes' => $params['processes'], - 'number' => $params['number'], - 'apptime' => $params['apptime'], - 'person' => $params['person'], - 'tips' => $params['tips'], - 'fd_1' => $params['fd_1'], - 'fd_2' => $params['fd_2'], - 'fd_3' => $params['fd_3'], - ]); - - 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/22 17:57 - */ - public static function delete(array $params): bool - { - return ApprovalIssuanceAchievementDocuments::destroy($params['id']); - } - - - /** - * @notes 获取详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/02/22 17:57 - */ - public static function detail($params): array - { - return ApprovalIssuanceAchievementDocuments::findOrEmpty($params['id'])->toArray(); - } -} \ No newline at end of file + + namespace app\adminapi\logic; + + + use app\common\logic\BaseLogic; + use app\common\model\ApprovalIssuanceAchievementDocuments; + use app\common\model\auth\Admin; + use think\facade\Db; + + + /** + * ApprovalIssuanceAchievementDocuments逻辑 + * Class ApprovalIssuanceAchievementDocumentsLogic + * @package app\adminapi\logic + */ + class ApprovalIssuanceAchievementDocumentsLogic extends BaseLogic + { + + + /** + * @notes 添加 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/22 17:57 + */ + public static function add(array $params): bool + { + Db::startTrans(); + try { + ApprovalIssuanceAchievementDocuments::create([ + 'dataid' => generate_sn(ApprovalIssuanceAchievementDocuments::class, 'dataid'), + 'num' => generate_sn(ApprovalIssuanceAchievementDocuments::class, 'num'), + 'project_id' => $params['project_id'], + 'task' => $params['task'], + 'processes' => $params['processes'], + 'number' => $params['number'], + 'apptime' => $params['apptime'], + 'person' => $params['person'], + 'tips' => $params['tips'], + 'fd_1' => $params['fd_1'], + 'fd_2' => $params['fd_2'], + 'fd_3' => $params['fd_3'], + ]); + + 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/22 17:57 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + ApprovalIssuanceAchievementDocuments::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'task' => $params['task'], + 'processes' => $params['processes'], + 'number' => $params['number'], + 'apptime' => $params['apptime'], + 'person' => $params['person'], + 'tips' => $params['tips'], + 'fd_1' => $params['fd_1'], + 'fd_2' => $params['fd_2'], + 'fd_3' => $params['fd_3'], + ]); + + 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/22 17:57 + */ + public static function delete(array $params): bool + { + return ApprovalIssuanceAchievementDocuments::destroy($params['id']); + } + + + /** + * @notes 获取详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/02/22 17:57 + */ + public static function detail($params): array + { + $data = ApprovalIssuanceAchievementDocuments::findOrEmpty($params['id']); + $head = Admin::field('name')->where('id', $data['person'])->findOrEmpty(); + $data['person_name'] = $head?->name; + return $data->toArray(); + } + } \ No newline at end of file diff --git a/app/adminapi/logic/TaskHandlingThreeLevelReviewLogic.php b/app/adminapi/logic/TaskHandlingThreeLevelReviewLogic.php index 2a19ba9ea..2fe9cd252 100644 --- a/app/adminapi/logic/TaskHandlingThreeLevelReviewLogic.php +++ b/app/adminapi/logic/TaskHandlingThreeLevelReviewLogic.php @@ -11,177 +11,180 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic; - - -use app\common\model\TaskHandlingThreeLevelReview; -use app\common\logic\BaseLogic; -use think\facade\Db; - - -/** - * TaskHandlingThreeLevelReview逻辑 - * Class TaskHandlingThreeLevelReviewLogic - * @package app\adminapi\logic - */ -class TaskHandlingThreeLevelReviewLogic extends BaseLogic -{ - - - /** - * @notes 添加 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/22 17:18 - */ - public static function add(array $params): bool - { - - Db::startTrans(); - try { - TaskHandlingThreeLevelReview::create([ - 'dataid' => generate_sn(TaskHandlingThreeLevelReview::class, 'dataid'), - 'num' => generate_sn(TaskHandlingThreeLevelReview::class, 'num'), - 'project_id' => $params['project_id'], - 'task' => $params['task'], - 'processes' => $params['processes'], - 'rtype' => $params['rtype'], - 'zType' => $params['zType'], - 'engineer' => $params['engineer'], - 'head' => $params['head'], - 'examine' => $params['examine'], - 'one' => $params['one'], - 'two' => $params['two'], - 'three' => $params['three'], - 'apptime' => $params['apptime'], - 'level' => $params['level'], - 'area' => $params['area'], - 'type' => $params['type'], - 'use' => $params['use'], - 'construction' => $params['construction'], - 'ask' => $params['ask'], - 'according' => $params['according'], - 'clbc' => $params['clbc'], - 'ssje' => $params['ssje'], - 'gcshd' => $params['gcshd'], - 'hzhj' => $params['hzhj'], - 'rg' => $params['rg'], - 'xmhd' => $params['xmhd'], - 'bmhd' => $params['bmhd'], - 'shbhd' => $params['shbhd'], - 'kaigong' => !empty($params['kaigong']) ? strtotime($params['kaigong']) : 0, - 'jungong' => !empty($params['jungong']) ? strtotime($params['jungong']) : 0, - 'bz' => $params['bz'], - 'result_file' => $params['result_file'] ? json_encode($params['result_file']) : null, - 'master_annex' => $params['master_annex'] ? json_encode($params['master_annex']) : null, - 'bm_annex' => $params['bm_annex'] ? json_encode($params['bm_annex']) : null, - 'shb_annex' => $params['shb_annex'] ? json_encode($params['shb_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/02/22 17:18 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - TaskHandlingThreeLevelReview::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'task' => $params['task'], - 'processes' => $params['processes'], - 'rtype' => $params['rtype'], - 'zType' => $params['zType'], - 'engineer' => $params['engineer'], - 'head' => $params['head'], - 'examine' => $params['examine'], - 'one' => $params['one'], - 'two' => $params['two'], - 'three' => $params['three'], - 'apptime' => $params['apptime'], - 'level' => $params['level'], - 'area' => $params['area'], - 'type' => $params['type'], - 'use' => $params['use'], - 'construction' => $params['construction'], - 'ask' => $params['ask'], - 'according' => $params['according'], - 'clbc' => $params['clbc'], - 'ssje' => $params['ssje'], - 'gcshd' => $params['gcshd'], - 'hzhj' => $params['hzhj'], - 'rg' => $params['rg'], - 'xmhd' => $params['xmhd'], - 'bmhd' => $params['bmhd'], - 'shbhd' => $params['shbhd'], - 'kaigong' => !empty($params['kaigong']) ? strtotime($params['kaigong']) : 0, - 'jungong' => !empty($params['jungong']) ? strtotime($params['jungong']) : 0, - 'bz' => $params['bz'], - 'result_file' => $params['result_file'] ? json_encode($params['result_file']) : null, - 'master_annex' => $params['master_annex'] ? json_encode($params['master_annex']) : null, - 'bm_annex' => $params['bm_annex'] ? json_encode($params['bm_annex']) : null, - 'shb_annex' => $params['shb_annex'] ? json_encode($params['shb_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/02/22 17:18 - */ - public static function delete(array $params): bool - { - return TaskHandlingThreeLevelReview::destroy($params['id']); - } - - - /** - * @notes 获取详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/02/22 17:18 - */ - public static function detail($params): array - { - $data = TaskHandlingThreeLevelReview::with(['projectInfo'])->findOrEmpty($params['id']); - $data['result_file'] = !empty($data['result_file']) ? json_decode($data['result_file'], true) : ''; - $data['master_annex'] = !empty($data['master_annex']) ? json_decode($data['master_annex'], true) : ''; - $data['bm_annex'] = !empty($data['bm_annex']) ? json_decode($data['bm_annex'], true) : ''; - $data['shb_annex'] = !empty($data['shb_annex']) ? json_decode($data['shb_annex'], true) : ''; - $data['rtype_text'] = $data->rtype_text; - $data['zType_text'] = $data->zType_text; - $data['examine_text'] = $data->examine_text; - $data['type_text'] = $data->type_text; - $data['ask_text'] = $data->ask_text; - $data['according_text'] = $data->according_text; - $data['clbc_text'] = $data->clbc_text; - return $data->toArray(); - } -} \ No newline at end of file + + namespace app\adminapi\logic; + + + use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; + use app\common\model\TaskHandlingThreeLevelReview; + use think\facade\Db; + + + /** + * TaskHandlingThreeLevelReview逻辑 + * Class TaskHandlingThreeLevelReviewLogic + * @package app\adminapi\logic + */ + class TaskHandlingThreeLevelReviewLogic extends BaseLogic + { + + + /** + * @notes 添加 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/22 17:18 + */ + public static function add(array $params): bool + { + + Db::startTrans(); + try { + TaskHandlingThreeLevelReview::create([ + 'dataid' => generate_sn(TaskHandlingThreeLevelReview::class, 'dataid'), + 'num' => generate_sn(TaskHandlingThreeLevelReview::class, 'num'), + 'project_id' => $params['project_id'], + 'task' => $params['task'], + 'processes' => $params['processes'], + 'rtype' => $params['rtype'], + 'zType' => $params['zType'], + 'engineer' => $params['engineer'], + 'head' => $params['head'], + 'examine' => $params['examine'], + 'one' => $params['one'], + 'two' => $params['two'], + 'three' => $params['three'], + 'apptime' => $params['apptime'], + 'level' => $params['level'], + 'area' => $params['area'], + 'type' => $params['type'], + 'use' => $params['use'], + 'construction' => $params['construction'], + 'ask' => $params['ask'], + 'according' => $params['according'], + 'clbc' => $params['clbc'], + 'ssje' => $params['ssje'], + 'gcshd' => $params['gcshd'], + 'hzhj' => $params['hzhj'], + 'rg' => $params['rg'], + 'xmhd' => $params['xmhd'], + 'bmhd' => $params['bmhd'], + 'shbhd' => $params['shbhd'], + 'kaigong' => !empty($params['kaigong']) ? strtotime($params['kaigong']) : 0, + 'jungong' => !empty($params['jungong']) ? strtotime($params['jungong']) : 0, + 'bz' => $params['bz'], + 'result_file' => $params['result_file'] ? json_encode($params['result_file']) : null, + 'master_annex' => $params['master_annex'] ? json_encode($params['master_annex']) : null, + 'bm_annex' => $params['bm_annex'] ? json_encode($params['bm_annex']) : null, + 'shb_annex' => $params['shb_annex'] ? json_encode($params['shb_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/02/22 17:18 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + TaskHandlingThreeLevelReview::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'task' => $params['task'], + 'processes' => $params['processes'], + 'rtype' => $params['rtype'], + 'zType' => $params['zType'], + 'engineer' => $params['engineer'], + 'head' => $params['head'], + 'examine' => $params['examine'], + 'one' => $params['one'], + 'two' => $params['two'], + 'three' => $params['three'], + 'apptime' => $params['apptime'], + 'level' => $params['level'], + 'area' => $params['area'], + 'type' => $params['type'], + 'use' => $params['use'], + 'construction' => $params['construction'], + 'ask' => $params['ask'], + 'according' => $params['according'], + 'clbc' => $params['clbc'], + 'ssje' => $params['ssje'], + 'gcshd' => $params['gcshd'], + 'hzhj' => $params['hzhj'], + 'rg' => $params['rg'], + 'xmhd' => $params['xmhd'], + 'bmhd' => $params['bmhd'], + 'shbhd' => $params['shbhd'], + 'kaigong' => !empty($params['kaigong']) ? strtotime($params['kaigong']) : 0, + 'jungong' => !empty($params['jungong']) ? strtotime($params['jungong']) : 0, + 'bz' => $params['bz'], + 'result_file' => $params['result_file'] ? json_encode($params['result_file']) : null, + 'master_annex' => $params['master_annex'] ? json_encode($params['master_annex']) : null, + 'bm_annex' => $params['bm_annex'] ? json_encode($params['bm_annex']) : null, + 'shb_annex' => $params['shb_annex'] ? json_encode($params['shb_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/02/22 17:18 + */ + public static function delete(array $params): bool + { + return TaskHandlingThreeLevelReview::destroy($params['id']); + } + + + /** + * @notes 获取详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/02/22 17:18 + */ + public static function detail($params): array + { + $data = TaskHandlingThreeLevelReview::with(['projectInfo'])->findOrEmpty($params['id']); + $head = Admin::field('name')->where('id', $data['head'])->findOrEmpty(); + $data['head_name'] = $head?->name; + $data['result_file'] = !empty($data['result_file']) ? json_decode($data['result_file'], true) : ''; + $data['master_annex'] = !empty($data['master_annex']) ? json_decode($data['master_annex'], true) : ''; + $data['bm_annex'] = !empty($data['bm_annex']) ? json_decode($data['bm_annex'], true) : ''; + $data['shb_annex'] = !empty($data['shb_annex']) ? json_decode($data['shb_annex'], true) : ''; + $data['rtype_text'] = $data->rtype_text; + $data['zType_text'] = $data->zType_text; + $data['examine_text'] = $data->examine_text; + $data['type_text'] = $data->type_text; + $data['ask_text'] = $data->ask_text; + $data['according_text'] = $data->according_text; + $data['clbc_text'] = $data->clbc_text; + return $data->toArray(); + } + } \ No newline at end of file