diff --git a/app/adminapi/lists/project_process_management/ApplyWithSealLists.php b/app/adminapi/lists/project_process_management/ApplyWithSealLists.php index 5c783d0e5..47304f9a7 100644 --- a/app/adminapi/lists/project_process_management/ApplyWithSealLists.php +++ b/app/adminapi/lists/project_process_management/ApplyWithSealLists.php @@ -18,6 +18,7 @@ use app\adminapi\lists\BaseAdminDataLists; use app\common\lists\ListsExcelInterface; use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; use app\common\model\project_process_management\ApplyWithSeal; @@ -59,7 +60,13 @@ return ApplyWithSeal::with(['projectInfo', 'dept'])->where($this->searchWhere) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) - ->select() + ->select()->each(function ($data) { + $admin = Admin::where('id', 'in', [$data['stampman'], $data['applicant'], $data['sjborrower'], $data['returnee']])->column('name', 'id'); + $data['stampman_name'] = $admin[$data['stampman']] ?? ''; + $data['applicant_name'] = $admin[$data['applicant']] ?? ''; + $data['sjborrower_name'] = $admin[$data['sjborrower']] ?? ''; + $data['returnee_name'] = $admin[$data['returnee']] ?? ''; + }) ->toArray(); } diff --git a/app/adminapi/lists/project_process_management/JianliProjectProgressReportLists.php b/app/adminapi/lists/project_process_management/JianliProjectProgressReportLists.php index 694c300f1..2a80380a0 100644 --- a/app/adminapi/lists/project_process_management/JianliProjectProgressReportLists.php +++ b/app/adminapi/lists/project_process_management/JianliProjectProgressReportLists.php @@ -11,100 +11,104 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\lists\project_process_management; - - -use app\adminapi\lists\BaseAdminDataLists; -use app\common\lists\ListsExcelInterface; -use app\common\model\project_process_management\JianliProjectProgressReport; -use app\common\lists\ListsSearchInterface; - - -/** - * JianliProjectProgressReport列表 - * Class JianliProjectProgressReportLists - * @package app\adminapi\listsproject_process_management - */ -class JianliProjectProgressReportLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface -{ - - - /** - * @notes 设置搜索条件 - * @return \string[][] - * @author likeadmin - * @date 2024/02/23 11:47 - */ - public function setSearch(): array - { - return [ - '=' => ['project_id'], - '%like%' => ['num','wt_unit','djr'] - ]; - } - - - /** - * @notes 获取列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2024/02/23 11:47 - */ - public function lists(): array - { - return JianliProjectProgressReport::with(['projectInfo'])->where($this->searchWhere) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select() - ->toArray(); - } - - - /** - * @notes 获取数量 - * @return int - * @author likeadmin - * @date 2024/02/23 11:47 - */ - public function count(): int - { - return JianliProjectProgressReport::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', - 'bm_master' => '部门负责人', - 'wt_unit' => '委托单位', - 'xm_master' => '项目负责人', - 'start_date' => '实际开始日期', - 'end_date' => '实际结束日期', - 'duration' => '工期(天)', - 'working_hours' => '工时', - 'done_progress' => '累计已完成进度(%)', - 'bjd_progress' => '本阶段完成进度(%)', - 'djr' => '登记人', - 'apptime' => '登记时间', - 'jdms' => '形象进度描述' - ]; - } - -} \ No newline at end of file + + namespace app\adminapi\lists\project_process_management; + + + use app\adminapi\lists\BaseAdminDataLists; + use app\common\lists\ListsExcelInterface; + use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; + use app\common\model\project_process_management\JianliProjectProgressReport; + + + /** + * JianliProjectProgressReport列表 + * Class JianliProjectProgressReportLists + * @package app\adminapi\listsproject_process_management + */ + class JianliProjectProgressReportLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface + { + + + /** + * @notes 设置搜索条件 + * @return \string[][] + * @author likeadmin + * @date 2024/02/23 11:47 + */ + public function setSearch(): array + { + return [ + '=' => ['project_id'], + '%like%' => ['num', 'wt_unit', 'djr'] + ]; + } + + + /** + * @notes 获取列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/02/23 11:47 + */ + public function lists(): array + { + return JianliProjectProgressReport::with(['projectInfo'])->where($this->searchWhere) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select()->each(function ($data) { + $djr = Admin::field('name')->where('id', $data['djr'])->findOrEmpty(); + $data['djr_name'] = $djr?->name; + }) + ->toArray(); + } + + + /** + * @notes 获取数量 + * @return int + * @author likeadmin + * @date 2024/02/23 11:47 + */ + public function count(): int + { + return JianliProjectProgressReport::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', + 'bm_master' => '部门负责人', + 'wt_unit' => '委托单位', + 'xm_master' => '项目负责人', + 'start_date' => '实际开始日期', + 'end_date' => '实际结束日期', + 'duration' => '工期(天)', + 'working_hours' => '工时', + 'done_progress' => '累计已完成进度(%)', + 'bjd_progress' => '本阶段完成进度(%)', + 'djr' => '登记人', + 'apptime' => '登记时间', + 'jdms' => '形象进度描述' + ]; + } + + } \ No newline at end of file diff --git a/app/adminapi/logic/project_process_management/ApplyWithSealLogic.php b/app/adminapi/logic/project_process_management/ApplyWithSealLogic.php index 4d2e75cd9..a49c9ac85 100644 --- a/app/adminapi/logic/project_process_management/ApplyWithSealLogic.php +++ b/app/adminapi/logic/project_process_management/ApplyWithSealLogic.php @@ -16,6 +16,7 @@ use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; use app\common\model\dept\Dept; use app\common\model\project_process_management\ApplyWithSeal; use think\facade\Db; @@ -146,6 +147,11 @@ { $data = ApplyWithSeal::with(['projectInfo'])->findOrEmpty($params['id']); $dept = Dept::field('name')->where('id', $data['depar'])->findOrEmpty(); + $admin = Admin::where('id', 'in', [$data['stampman'], $data['applicant'], $data['sjborrower'], $data['returnee']])->column('name', 'id'); + $data['stampman_name'] = $admin[$data['stampman']] ?? ''; + $data['applicant_name'] = $admin[$data['applicant']] ?? ''; + $data['sjborrower_name'] = $admin[$data['sjborrower']] ?? ''; + $data['returnee_name'] = $admin[$data['returnee']] ?? ''; $data['dept_name'] = $dept['name']; $data['types_text'] = $data->types_text; $data['ridingseam_text'] = $data->ridingseam_text; diff --git a/app/adminapi/logic/project_process_management/JianliProjectProgressReportLogic.php b/app/adminapi/logic/project_process_management/JianliProjectProgressReportLogic.php index 1ae925bcd..0aad01255 100644 --- a/app/adminapi/logic/project_process_management/JianliProjectProgressReportLogic.php +++ b/app/adminapi/logic/project_process_management/JianliProjectProgressReportLogic.php @@ -11,127 +11,130 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic\project_process_management; - - -use app\common\model\project_process_management\JianliProjectProgressReport; -use app\common\logic\BaseLogic; -use think\facade\Db; - - -/** - * JianliProjectProgressReport逻辑 - * Class JianliProjectProgressReportLogic - * @package app\adminapi\logic\project_process_management - */ -class JianliProjectProgressReportLogic extends BaseLogic -{ - - - /** - * @notes 添加 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/02/23 11:47 - */ - public static function add(array $params): bool - { - Db::startTrans(); - try { - JianliProjectProgressReport::create([ - 'dataid' => generate_sn(JianliProjectProgressReport::class, 'dataid'), - 'num' => generate_sn(JianliProjectProgressReport::class, 'num'), - 'project_id' => $params['project_id'], - 'bm_master' => $params['bm_master'], - 'wt_unit' => $params['wt_unit'], - 'xm_master' => $params['xm_master'], - 'start_date' => !empty($params['start_date']) ? strtotime($params['start_date']) : 0, - 'end_date' => !empty($params['end_date']) ? strtotime($params['end_date']) : 0, - 'duration' => $params['duration'], - 'working_hours' => $params['working_hours'], - 'done_progress' => $params['done_progress'], - 'bjd_progress' => $params['bjd_progress'], - 'djr' => $params['djr'], - 'apptime' => $params['apptime'], - 'jdms' => $params['jdms'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'fd_23' => $params['fd_23'], - ]); - - 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/23 11:47 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - JianliProjectProgressReport::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'bm_master' => $params['bm_master'], - 'wt_unit' => $params['wt_unit'], - 'xm_master' => $params['xm_master'], - 'start_date' => !empty($params['start_date']) ? strtotime($params['start_date']) : 0, - 'end_date' => !empty($params['end_date']) ? strtotime($params['end_date']) : 0, - 'duration' => $params['duration'], - 'working_hours' => $params['working_hours'], - 'done_progress' => $params['done_progress'], - 'bjd_progress' => $params['bjd_progress'], - 'djr' => $params['djr'], - 'apptime' => $params['apptime'], - 'jdms' => $params['jdms'], - 'annex' => $params['annex'] ? json_encode($params['annex']) : null, - 'fd_23' => $params['fd_23'], - ]); - - 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/23 11:47 - */ - public static function delete(array $params): bool - { - return JianliProjectProgressReport::destroy($params['id']); - } - - - /** - * @notes 获取详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/02/23 11:47 - */ - public static function detail($params): array - { - $data = JianliProjectProgressReport::with(['projectInfo'])->findOrEmpty($params['id'])->toArray(); - return $data; - } -} \ No newline at end of file + + namespace app\adminapi\logic\project_process_management; + + + use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; + use app\common\model\project_process_management\JianliProjectProgressReport; + use think\facade\Db; + + + /** + * JianliProjectProgressReport逻辑 + * Class JianliProjectProgressReportLogic + * @package app\adminapi\logic\project_process_management + */ + class JianliProjectProgressReportLogic extends BaseLogic + { + + + /** + * @notes 添加 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/02/23 11:47 + */ + public static function add(array $params): bool + { + Db::startTrans(); + try { + JianliProjectProgressReport::create([ + 'dataid' => generate_sn(JianliProjectProgressReport::class, 'dataid'), + 'num' => generate_sn(JianliProjectProgressReport::class, 'num'), + 'project_id' => $params['project_id'], + 'bm_master' => $params['bm_master'], + 'wt_unit' => $params['wt_unit'], + 'xm_master' => $params['xm_master'], + 'start_date' => !empty($params['start_date']) ? strtotime($params['start_date']) : 0, + 'end_date' => !empty($params['end_date']) ? strtotime($params['end_date']) : 0, + 'duration' => $params['duration'], + 'working_hours' => $params['working_hours'], + 'done_progress' => $params['done_progress'], + 'bjd_progress' => $params['bjd_progress'], + 'djr' => $params['djr'], + 'apptime' => $params['apptime'], + 'jdms' => $params['jdms'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'fd_23' => $params['fd_23'], + ]); + + 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/23 11:47 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + JianliProjectProgressReport::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'bm_master' => $params['bm_master'], + 'wt_unit' => $params['wt_unit'], + 'xm_master' => $params['xm_master'], + 'start_date' => !empty($params['start_date']) ? strtotime($params['start_date']) : 0, + 'end_date' => !empty($params['end_date']) ? strtotime($params['end_date']) : 0, + 'duration' => $params['duration'], + 'working_hours' => $params['working_hours'], + 'done_progress' => $params['done_progress'], + 'bjd_progress' => $params['bjd_progress'], + 'djr' => $params['djr'], + 'apptime' => $params['apptime'], + 'jdms' => $params['jdms'], + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'fd_23' => $params['fd_23'], + ]); + + 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/23 11:47 + */ + public static function delete(array $params): bool + { + return JianliProjectProgressReport::destroy($params['id']); + } + + + /** + * @notes 获取详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/02/23 11:47 + */ + public static function detail($params): array + { + $data = JianliProjectProgressReport::with(['projectInfo'])->findOrEmpty($params['id']); + $djr = Admin::field('name')->where('id', $data['djr'])->findOrEmpty(); + $data['djr_name'] = $djr?->name; + return $data->toArray(); + } + } \ No newline at end of file