This commit is contained in:
weiz 2024-04-22 15:49:10 +08:00
parent b5530b1177
commit cdbc08e784
10 changed files with 903 additions and 865 deletions

View File

@ -11,93 +11,96 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists; namespace app\adminapi\lists;
use app\adminapi\lists\BaseAdminDataLists; use app\common\lists\ListsExcelInterface;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsSearchInterface;
use app\common\model\DataReception; use app\common\model\auth\Admin;
use app\common\lists\ListsSearchInterface; use app\common\model\DataReception;
/** /**
* DataReception列表 * DataReception列表
* Class DataReceptionLists * Class DataReceptionLists
* @package app\adminapi\lists * @package app\adminapi\lists
*/ */
class DataReceptionLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface class DataReceptionLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{ {
/** /**
* @notes 设置搜索条件 * @notes 设置搜索条件
* @return \string[][] * @return \string[][]
* @author likeadmin * @author likeadmin
* @date 2024/02/23 09:21 * @date 2024/02/23 09:21
*/ */
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['project_id'], '=' => ['project_id'],
'%like%' => ['num','person'] '%like%' => ['num', 'person']
]; ];
} }
/** /**
* @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 09:21 * @date 2024/02/23 09:21
*/ */
public function lists(): array public function lists(): array
{ {
return DataReception::where($this->searchWhere) return DataReception::where($this->searchWhere)
->with(['projectInfo']) ->with(['projectInfo'])
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select() ->select()->each(function ($data) {
->toArray(); $head = Admin::field('name')->where('id', $data['person'])->findOrEmpty();
} $data['person_name'] = $head?->name;
})
->toArray();
/** }
* @notes 获取数量
* @return int
* @author likeadmin /**
* @date 2024/02/23 09:21 * @notes 获取数量
*/ * @return int
public function count(): int * @author likeadmin
{ * @date 2024/02/23 09:21
return DataReception::where($this->searchWhere)->count(); */
} public function count(): int
{
public function setFileName(): string return DataReception::where($this->searchWhere)->count();
{ }
return '资料接收';
} public function setFileName(): string
{
/** return '资料接收';
* @notes 导出字段 }
* @return string[]
* @author 段誉 /**
* @date 2022/11/24 16:17 * @notes 导出字段
*/ * @return string[]
public function setExcelFields(): array * @author 段誉
{ * @date 2022/11/24 16:17
return [ */
'id' => 'id', public function setExcelFields(): array
'num' => '单据编号', {
'project_id' => '项目id', return [
'apptime' => '登记日期', 'id' => 'id',
'person' => '登记人', 'num' => '单据编号',
'number' => '资料份数', 'project_id' => '项目id',
'position' => '存放位置', 'apptime' => '登记日期',
'tips' => '说明', 'person' => '登记人',
]; 'number' => '资料份数',
} 'position' => '存放位置',
} 'tips' => '说明',
];
}
}

View File

@ -67,6 +67,8 @@
$project = CostProject::field('project_name,project_num,contract_id,industry,principal')->where('id', $data['project_id'])->findOrEmpty(); $project = CostProject::field('project_name,project_num,contract_id,industry,principal')->where('id', $data['project_id'])->findOrEmpty();
$contract = MarketingContract::field('contract_name')->where('id', $project['contract_id'])->findOrEmpty(); $contract = MarketingContract::field('contract_name')->where('id', $project['contract_id'])->findOrEmpty();
$admin = Admin::field('name')->where('id', $project['principal'])->findOrEmpty(); $admin = Admin::field('name')->where('id', $project['principal'])->findOrEmpty();
$djr = Admin::field('name')->where('id', $data['djr'])->findOrEmpty();
$data['djr_name'] = $djr?->name;
$data['project_name'] = $project['project_name']; $data['project_name'] = $project['project_name'];
$data['project_num'] = $project['project_num']; $data['project_num'] = $project['project_num'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];

View File

@ -11,97 +11,101 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\project_process_management; namespace app\adminapi\lists\project_process_management;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\project_process_management\ProjectChangeVisa; use app\common\lists\ListsSearchInterface;
use app\common\lists\ListsSearchInterface; use app\common\model\auth\Admin;
use app\common\model\project_process_management\ProjectChangeVisaContent; use app\common\model\project_process_management\ProjectChangeVisa;
use app\common\model\project_process_management\ProjectChangeVisaContent;
/**
* ProjectChangeVisa列表 /**
* Class ProjectChangeVisaLists * ProjectChangeVisa列表
* @package app\adminapi\listsproject_process_management * Class ProjectChangeVisaLists
*/ * @package app\adminapi\listsproject_process_management
class ProjectChangeVisaLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface */
{ class ProjectChangeVisaLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{
/**
* @notes 设置搜索条件 /**
* @return \string[][] * @notes 设置搜索条件
* @author likeadmin * @return \string[][]
* @date 2024/02/23 09:58 * @author likeadmin
*/ * @date 2024/02/23 09:58
public function setSearch(): array */
{ public function setSearch(): array
return [ {
'=' => ['project_id'], return [
'%like%' => ['num'] '=' => ['project_id'],
]; '%like%' => ['num']
} ];
}
/**
* @notes 获取列表 /**
* @return array * @notes 获取列表
* @throws \think\db\exception\DataNotFoundException * @return array
* @throws \think\db\exception\DbException * @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\DbException
* @author likeadmin * @throws \think\db\exception\ModelNotFoundException
* @date 2024/02/23 09:58 * @author likeadmin
*/ * @date 2024/02/23 09:58
public function lists(): array */
{ public function lists(): array
return ProjectChangeVisa::with(['projectInfo']) {
->append(['children']) return ProjectChangeVisa::with(['projectInfo'])
->where($this->searchWhere) ->append(['children'])
->limit($this->limitOffset, $this->limitLength) ->where($this->searchWhere)
->order(['id' => 'desc']) ->limit($this->limitOffset, $this->limitLength)
->withAttr('children', function ($value, $data){ ->order(['id' => 'desc'])
$details = ProjectChangeVisaContent::where('project_change_visa_id', $data['id'])->select(); ->withAttr('children', function ($value, $data) {
return $details; $details = ProjectChangeVisaContent::where('project_change_visa_id', $data['id'])->select();
}) return $details;
->select() })
->toArray(); ->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 09:58 /**
*/ * @notes 获取数量
public function count(): int * @return int
{ * @author likeadmin
return ProjectChangeVisa::where($this->searchWhere)->count(); * @date 2024/02/23 09:58
} */
public function count(): int
public function setFileName(): string {
{ return ProjectChangeVisa::where($this->searchWhere)->count();
return '项目变更签证'; }
}
public function setFileName(): string
/** {
* @notes 导出字段 return '项目变更签证';
* @return string[] }
* @author 段誉
* @date 2022/11/24 16:17 /**
*/ * @notes 导出字段
public function setExcelFields(): array * @return string[]
{ * @author 段誉
return [ * @date 2022/11/24 16:17
'id' => 'id', */
'num' => '单据编号', public function setExcelFields(): array
'project_id' => '项目id', {
'djr' => '登记人', return [
'apptime' => '登记日期', 'id' => 'id',
]; 'num' => '单据编号',
} 'project_id' => '项目id',
'djr' => '登记人',
} 'apptime' => '登记日期',
];
}
}

View File

@ -11,98 +11,104 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\project_process_management; namespace app\adminapi\lists\project_process_management;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\project_process_management\ProjectRectification; use app\common\lists\ListsSearchInterface;
use app\common\lists\ListsSearchInterface; use app\common\model\auth\Admin;
use app\common\model\project_process_management\ProjectRectification;
/**
* ProjectRectification列表 /**
* Class ProjectRectificationLists * ProjectRectification列表
* @package app\adminapi\listsproject_process_management * Class ProjectRectificationLists
*/ * @package app\adminapi\listsproject_process_management
class ProjectRectificationLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface */
{ class ProjectRectificationLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{
/**
* @notes 设置搜索条件 /**
* @return \string[][] * @notes 设置搜索条件
* @author likeadmin * @return \string[][]
* @date 2024/02/23 11:22 * @author likeadmin
*/ * @date 2024/02/23 11:22
public function setSearch(): array */
{ public function setSearch(): array
return [ {
'=' => ['project_id'], return [
'%like%' => ['num','wt_unit','xm_master','zg_master'] '=' => ['project_id'],
]; '%like%' => ['num', 'wt_unit', 'xm_master', 'zg_master']
} ];
}
/**
* @notes 获取列表 /**
* @return array * @notes 获取列表
* @throws \think\db\exception\DataNotFoundException * @return array
* @throws \think\db\exception\DbException * @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\DbException
* @author likeadmin * @throws \think\db\exception\ModelNotFoundException
* @date 2024/02/23 11:22 * @author likeadmin
*/ * @date 2024/02/23 11:22
public function lists(): array */
{ public function lists(): array
return ProjectRectification::with(['projectInfo']) {
->where($this->searchWhere) return ProjectRectification::with(['projectInfo'])
->limit($this->limitOffset, $this->limitLength) ->where($this->searchWhere)
->order(['id' => 'desc']) ->limit($this->limitOffset, $this->limitLength)
->select() ->order(['id' => 'desc'])
->toArray(); ->select()->each(function ($data) {
} $xmfz = Admin::field('name')->where('id', $data['xm_master'])->findOrEmpty();
$djr = Admin::field('name')->where('id', $data['dj_person'])->findOrEmpty();
$data['xm_master_name'] = $xmfz?->name;
/** $data['dj_person_name'] = $djr?->name;
* @notes 获取数量 })
* @return int ->toArray();
* @author likeadmin }
* @date 2024/02/23 11:22
*/
public function count(): int /**
{ * @notes 获取数量
return ProjectRectification::where($this->searchWhere)->count(); * @return int
} * @author likeadmin
* @date 2024/02/23 11:22
public function setFileName(): string */
{ public function count(): int
return '项目整改'; {
} return ProjectRectification::where($this->searchWhere)->count();
}
/**
* @notes 导出字段 public function setFileName(): string
* @return string[] {
* @author 段誉 return '项目整改';
* @date 2022/11/24 16:17 }
*/
public function setExcelFields(): array /**
{ * @notes 导出字段
return [ * @return string[]
'id' => 'id', * @author 段誉
'num' => '单据编号', * @date 2022/11/24 16:17
'project_id' => '项目id', */
'wt_unit' => '委托单位', public function setExcelFields(): array
'jsdw' => '建设单位', {
'bmfz' => '部门负责人', return [
'xmfz' => '项目负责人', 'id' => 'id',
'riqi' => '踏勘日期', 'num' => '单据编号',
'people' => '踏勘人员', 'project_id' => '项目id',
'djr' => '登记人', 'wt_unit' => '委托单位',
'apptime' => '登记日期', 'jsdw' => '建设单位',
'content' => '踏勘内容', 'bmfz' => '部门负责人',
'remark' => '核实结果', 'xmfz' => '项目负责人',
]; 'riqi' => '踏勘日期',
} 'people' => '踏勘人员',
} 'djr' => '登记人',
'apptime' => '登记日期',
'content' => '踏勘内容',
'remark' => '核实结果',
];
}
}

View File

@ -11,99 +11,105 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\lists\project_process_management; namespace app\adminapi\lists\project_process_management;
use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\lists\BaseAdminDataLists;
use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExcelInterface;
use app\common\model\project_process_management\ProjectSurveySignature; use app\common\lists\ListsSearchInterface;
use app\common\lists\ListsSearchInterface; use app\common\model\auth\Admin;
use app\common\model\project_process_management\ProjectSurveySignature;
/**
* ProjectSurveySignature列表 /**
* Class ProjectSurveySignatureLists * ProjectSurveySignature列表
* @package app\adminapi\listsproject_process_management * Class ProjectSurveySignatureLists
*/ * @package app\adminapi\listsproject_process_management
class ProjectSurveySignatureLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface */
{ class ProjectSurveySignatureLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
{
/**
* @notes 设置搜索条件 /**
* @return \string[][] * @notes 设置搜索条件
* @author likeadmin * @return \string[][]
* @date 2024/02/23 11:06 * @author likeadmin
*/ * @date 2024/02/23 11:06
public function setSearch(): array */
{ public function setSearch(): array
return [ {
'=' => ['project_id'], return [
'%like%' => ['num','wt_unit','jsdw'] '=' => ['project_id'],
]; '%like%' => ['num', 'wt_unit', 'jsdw']
} ];
}
/**
* @notes 获取列表 /**
* @return array * @notes 获取列表
* @throws \think\db\exception\DataNotFoundException * @return array
* @throws \think\db\exception\DbException * @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException * @throws \think\db\exception\DbException
* @author likeadmin * @throws \think\db\exception\ModelNotFoundException
* @date 2024/02/23 11:06 * @author likeadmin
*/ * @date 2024/02/23 11:06
public function lists(): array */
{ public function lists(): array
return ProjectSurveySignature::with(['projectInfo']) {
->where($this->searchWhere) return ProjectSurveySignature::with(['projectInfo'])
->limit($this->limitOffset, $this->limitLength) ->where($this->searchWhere)
->order(['id' => 'desc']) ->limit($this->limitOffset, $this->limitLength)
->select() ->order(['id' => 'desc'])
->toArray(); ->select()->each(function ($data) {
} $xmfz = Admin::field('name')->where('id', $data['xmfz'])->findOrEmpty();
$djr = Admin::field('name')->where('id', $data['djr'])->findOrEmpty();
$data['xmfz_name'] = $xmfz?->name;
/** $data['djr_name'] = $djr?->name;
* @notes 获取数量 })
* @return int ->toArray();
* @author likeadmin }
* @date 2024/02/23 11:06
*/
public function count(): int /**
{ * @notes 获取数量
return ProjectSurveySignature::where($this->searchWhere)->count(); * @return int
} * @author likeadmin
* @date 2024/02/23 11:06
public function setFileName(): string */
{ public function count(): int
return '项目踏勘会签'; {
} return ProjectSurveySignature::where($this->searchWhere)->count();
}
/**
* @notes 导出字段 public function setFileName(): string
* @return string[] {
* @author 段誉 return '项目踏勘会签';
* @date 2022/11/24 16:17 }
*/
public function setExcelFields(): array /**
{ * @notes 导出字段
return [ * @return string[]
'id' => 'id', * @author 段誉
'num' => '单据编号', * @date 2022/11/24 16:17
'project_id' => '项目id', */
'wt_unit' => '委托单位', public function setExcelFields(): array
'jsdw' => '建设单位', {
'bmfz' => '部门负责人', return [
'xmfz' => '项目负责人', 'id' => 'id',
'riqi' => '踏勘日期', 'num' => '单据编号',
'people' => '踏勘人员', 'project_id' => '项目id',
'djr' => '登记人', 'wt_unit' => '委托单位',
'apptime' => '登记日期', 'jsdw' => '建设单位',
'content' => '踏勘内容', 'bmfz' => '部门负责人',
'remark' => '核实结果', 'xmfz' => '项目负责人',
]; 'riqi' => '踏勘日期',
} 'people' => '踏勘人员',
'djr' => '登记人',
} 'apptime' => '登记日期',
'content' => '踏勘内容',
'remark' => '核实结果',
];
}
}

View File

@ -11,130 +11,133 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic; namespace app\adminapi\logic;
use app\common\model\DataReception; use app\common\logic\BaseLogic;
use app\common\logic\BaseLogic; use app\common\model\auth\Admin;
use think\facade\Db; use app\common\model\DataReception;
use think\facade\Db;
/**
* DataReception逻辑 /**
* Class DataReceptionLogic * DataReception逻辑
* @package app\adminapi\logic * Class DataReceptionLogic
*/ * @package app\adminapi\logic
class DataReceptionLogic extends BaseLogic */
{ class DataReceptionLogic extends BaseLogic
{
/**
* @notes 添加 /**
* @param array $params * @notes 添加
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/23 09:21 * @author likeadmin
*/ * @date 2024/02/23 09:21
public static function add(array $params): bool */
{ public static function add(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
DataReception::create([ try {
'dataid' => generate_sn(DataReception::class, 'dataid'), DataReception::create([
'num' => generate_sn(DataReception::class, 'num'), 'dataid' => generate_sn(DataReception::class, 'dataid'),
'project_id' => $params['project_id'], 'num' => generate_sn(DataReception::class, 'num'),
'apptime' => $params['apptime'], 'project_id' => $params['project_id'],
'person' => $params['person'], 'apptime' => $params['apptime'],
'number' => $params['number'], 'person' => $params['person'],
'position' => $params['position'], 'number' => $params['number'],
'tips' => $params['tips'], 'position' => $params['position'],
'bidding_file' => $params['bidding_file'] ? json_encode($params['bidding_file']) : null, 'tips' => $params['tips'],
'zbkzj_file' => $params['zbkzj_file'] ? json_encode($params['zbkzj_file']) : null, 'bidding_file' => $params['bidding_file'] ? json_encode($params['bidding_file']) : null,
'gczjht_file' => $params['gczjht_file'] ? json_encode($params['gczjht_file']) : null, 'zbkzj_file' => $params['zbkzj_file'] ? json_encode($params['zbkzj_file']) : null,
'xmbgqzzl_file' => $params['xmbgqzzl_file'] ? json_encode($params['xmbgqzzl_file']) : null, 'gczjht_file' => $params['gczjht_file'] ? json_encode($params['gczjht_file']) : null,
'ssgsysjs_file' => $params['ssgsysjs_file'] ? json_encode($params['ssgsysjs_file']) : null, 'xmbgqzzl_file' => $params['xmbgqzzl_file'] ? json_encode($params['xmbgqzzl_file']) : null,
'wlhj_file' => $params['wlhj_file'] ? json_encode($params['wlhj_file']) : null, 'ssgsysjs_file' => $params['ssgsysjs_file'] ? json_encode($params['ssgsysjs_file']) : null,
'other_file' => $params['other_file'] ? json_encode($params['other_file']) : null, 'wlhj_file' => $params['wlhj_file'] ? json_encode($params['wlhj_file']) : null,
]); 'other_file' => $params['other_file'] ? json_encode($params['other_file']) : null,
]);
Db::commit();
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 编辑 /**
* @param array $params * @notes 编辑
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/23 09:21 * @author likeadmin
*/ * @date 2024/02/23 09:21
public static function edit(array $params): bool */
{ public static function edit(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
DataReception::where('id', $params['id'])->update([ try {
'project_id' => $params['project_id'], DataReception::where('id', $params['id'])->update([
'apptime' => $params['apptime'], 'project_id' => $params['project_id'],
'person' => $params['person'], 'apptime' => $params['apptime'],
'number' => $params['number'], 'person' => $params['person'],
'position' => $params['position'], 'number' => $params['number'],
'tips' => $params['tips'], 'position' => $params['position'],
'bidding_file' => $params['bidding_file'] ? json_encode($params['bidding_file']) : null, 'tips' => $params['tips'],
'zbkzj_file' => $params['zbkzj_file'] ? json_encode($params['zbkzj_file']) : null, 'bidding_file' => $params['bidding_file'] ? json_encode($params['bidding_file']) : null,
'gczjht_file' => $params['gczjht_file'] ? json_encode($params['gczjht_file']) : null, 'zbkzj_file' => $params['zbkzj_file'] ? json_encode($params['zbkzj_file']) : null,
'xmbgqzzl_file' => $params['xmbgqzzl_file'] ? json_encode($params['xmbgqzzl_file']) : null, 'gczjht_file' => $params['gczjht_file'] ? json_encode($params['gczjht_file']) : null,
'ssgsysjs_file' => $params['ssgsysjs_file'] ? json_encode($params['ssgsysjs_file']) : null, 'xmbgqzzl_file' => $params['xmbgqzzl_file'] ? json_encode($params['xmbgqzzl_file']) : null,
'wlhj_file' => $params['wlhj_file'] ? json_encode($params['wlhj_file']) : null, 'ssgsysjs_file' => $params['ssgsysjs_file'] ? json_encode($params['ssgsysjs_file']) : null,
'other_file' => $params['other_file'] ? json_encode($params['other_file']) : null, 'wlhj_file' => $params['wlhj_file'] ? json_encode($params['wlhj_file']) : null,
]); 'other_file' => $params['other_file'] ? json_encode($params['other_file']) : null,
]);
Db::commit();
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 删除 /**
* @param array $params * @notes 删除
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/23 09:21 * @author likeadmin
*/ * @date 2024/02/23 09:21
public static function delete(array $params): bool */
{ public static function delete(array $params): bool
return DataReception::destroy($params['id']); {
} return DataReception::destroy($params['id']);
}
/**
* @notes 获取详情 /**
* @param $params * @notes 获取详情
* @return array * @param $params
* @author likeadmin * @return array
* @date 2024/02/23 09:21 * @author likeadmin
*/ * @date 2024/02/23 09:21
public static function detail($params): array */
{ public static function detail($params): array
$data = DataReception::with(['projectInfo'])->findOrEmpty($params['id'])->toArray(); {
$data['bidding_file'] = !empty($data['bidding_file']) ? json_decode($data['bidding_file'], true) : ''; $data = DataReception::with(['projectInfo'])->findOrEmpty($params['id'])->toArray();
$data['zbkzj_file'] = !empty($data['zbkzj_file']) ? json_decode($data['zbkzj_file'], true) : ''; $data['bidding_file'] = !empty($data['bidding_file']) ? json_decode($data['bidding_file'], true) : '';
$data['gczjht_file'] = !empty($data['gczjht_file']) ? json_decode($data['gczjht_file'], true) : ''; $data['zbkzj_file'] = !empty($data['zbkzj_file']) ? json_decode($data['zbkzj_file'], true) : '';
$data['xmbgqzzl_file'] = !empty($data['xmbgqzzl_file']) ? json_decode($data['xmbgqzzl_file'], true) : ''; $data['gczjht_file'] = !empty($data['gczjht_file']) ? json_decode($data['gczjht_file'], true) : '';
$data['ssgsysjs_file'] = !empty($data['ssgsysjs_file']) ? json_decode($data['ssgsysjs_file'], true) : ''; $data['xmbgqzzl_file'] = !empty($data['xmbgqzzl_file']) ? json_decode($data['xmbgqzzl_file'], true) : '';
$data['wlhj_file'] = !empty($data['wlhj_file']) ? json_decode($data['wlhj_file'], true) : ''; $data['ssgsysjs_file'] = !empty($data['ssgsysjs_file']) ? json_decode($data['ssgsysjs_file'], true) : '';
$data['other_file'] = !empty($data['other_file']) ? json_decode($data['other_file'], true) : ''; $data['wlhj_file'] = !empty($data['wlhj_file']) ? json_decode($data['wlhj_file'], true) : '';
return $data; $data['other_file'] = !empty($data['other_file']) ? json_decode($data['other_file'], true) : '';
} $head = Admin::field('name')->where('id', $data['person'])->findOrEmpty();
} $data['person_name'] = $head?->name;
return $data;
}
}

View File

@ -140,6 +140,8 @@
$project = CostProject::field('project_name,project_num,contract_id,industry,principal')->where('id', $data['project_id'])->findOrEmpty(); $project = CostProject::field('project_name,project_num,contract_id,industry,principal')->where('id', $data['project_id'])->findOrEmpty();
$contract = MarketingContract::field('contract_name')->where('id', $project['contract_id'])->findOrEmpty(); $contract = MarketingContract::field('contract_name')->where('id', $project['contract_id'])->findOrEmpty();
$admin = Admin::field('name')->where('id', $project['principal'])->findOrEmpty(); $admin = Admin::field('name')->where('id', $project['principal'])->findOrEmpty();
$djr = Admin::field('name')->where('id', $data['djr'])->findOrEmpty();
$data['djr_name'] = $djr?->name;
$data['project_name'] = $project['project_name']; $data['project_name'] = $project['project_name'];
$data['project_num'] = $project['project_num']; $data['project_num'] = $project['project_num'];
$data['contract_name'] = $contract['contract_name']; $data['contract_name'] = $contract['contract_name'];

View File

@ -11,136 +11,137 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\project_process_management; namespace app\adminapi\logic\project_process_management;
use app\common\model\project_process_management\ProjectChangeVisa; use app\common\logic\BaseLogic;
use app\common\logic\BaseLogic; use app\common\model\auth\Admin;
use app\common\model\project_process_management\ProjectChangeVisaContent; use app\common\model\project_process_management\ProjectChangeVisa;
use think\facade\Db; use app\common\model\project_process_management\ProjectChangeVisaContent;
use think\facade\Db;
/**
* ProjectChangeVisa逻辑 /**
* Class ProjectChangeVisaLogic * ProjectChangeVisa逻辑
* @package app\adminapi\logic\project_process_management * Class ProjectChangeVisaLogic
*/ * @package app\adminapi\logic\project_process_management
class ProjectChangeVisaLogic extends BaseLogic */
{ class ProjectChangeVisaLogic extends BaseLogic
{
/**
* @notes 添加 /**
* @param array $params * @notes 编辑
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/23 09:58 * @author likeadmin
*/ * @date 2024/02/23 09:58
public static function add(array $params): bool */
{ public static function edit(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
$projectChangeVisa = ProjectChangeVisa::create([ try {
'dataid' => generate_sn(ProjectChangeVisa::class, 'dataid'), ProjectChangeVisa::where('id', $params['id'])->update([
'num' => generate_sn(ProjectChangeVisa::class, 'num'), 'project_id' => $params['project_id'],
'project_id' => $params['project_id'], 'djr' => $params['djr'],
'djr' => $params['djr'], 'djrq' => $params['djrq'],
'djrq' => $params['djrq'], ]);
]); if (!empty($params['project_change_visa_content'])) {
if(!empty($params['project_change_visa_content'])){ foreach ($params['project_change_visa_content'] as $item) {
foreach ($params['project_change_visa_content'] as $item) { if (!empty($item['id'])) {
$item['project_change_visa_id'] = $projectChangeVisa->id; ProjectChangeVisaContentLogic::edit($item);
ProjectChangeVisaContentLogic::add($item); } else {
$item['project_change_visa_id'] = $params['id'];
ProjectChangeVisaContentLogic::add($item);
}
}
} }
Db::commit();
return true;
} catch (\Exception $e) {
Db::rollback();
self::setError($e->getMessage());
return false;
} }
Db::commit(); }
return true;
} catch (\Exception $e) { /**
Db::rollback(); * @notes 添加
self::setError($e->getMessage()); * @param array $params
return false; * @return bool
} * @author likeadmin
} * @date 2024/02/23 09:58
*/
public static function add(array $params): bool
/** {
* @notes 编辑 Db::startTrans();
* @param array $params try {
* @return bool $projectChangeVisa = ProjectChangeVisa::create([
* @author likeadmin 'dataid' => generate_sn(ProjectChangeVisa::class, 'dataid'),
* @date 2024/02/23 09:58 'num' => generate_sn(ProjectChangeVisa::class, 'num'),
*/ 'project_id' => $params['project_id'],
public static function edit(array $params): bool 'djr' => $params['djr'],
{ 'djrq' => $params['djrq'],
Db::startTrans(); ]);
try { if (!empty($params['project_change_visa_content'])) {
ProjectChangeVisa::where('id', $params['id'])->update([ foreach ($params['project_change_visa_content'] as $item) {
'project_id' => $params['project_id'], $item['project_change_visa_id'] = $projectChangeVisa->id;
'djr' => $params['djr'],
'djrq' => $params['djrq'],
]);
if(!empty($params['project_change_visa_content'])){
foreach ($params['project_change_visa_content'] as $item) {
if(!empty($item['id'])){
ProjectChangeVisaContentLogic::edit($item);
}else{
$item['project_change_visa_id'] = $params['id'];
ProjectChangeVisaContentLogic::add($item); ProjectChangeVisaContentLogic::add($item);
} }
} }
} 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/23 09:58
*/
public static function delete(array $params): bool
{
$data = ProjectChangeVisaContent::where('project_change_visa_id','in',$params['id'])->findOrEmpty();
if(!$data->isEmpty()){
self::setError('此数据关联了项目变更签证明细信息,须删除项目变更签证明细信息');
return false;
}
return ProjectChangeVisa::destroy($params['id']);
}
/**
* @notes 获取详情
* @param $params
* @return array
* @author likeadmin
* @date 2024/02/23 09:58
*/
public static function detail($params): array
{
$data = ProjectChangeVisa::with(['projectInfo'])->findOrEmpty($params['id'])->toArray();
$data['project_change_visa_content'] = ProjectChangeVisaContent::where('project_change_visa_id', $data['id'])->select();
return $data;
}
public static function datas()
{
$datas = ProjectChangeVisa::field(['id', 'num'])
->order(['id' => 'desc'])
->select()
->toArray();
foreach ($datas as &$item) {
$item['projectinfo'] = 'ID' . $item['id'] . ' / 单号:' . $item['num'];
} }
return $datas;
} /**
} * @notes 删除
* @param array $params
* @return bool
* @author likeadmin
* @date 2024/02/23 09:58
*/
public static function delete(array $params): bool
{
$data = ProjectChangeVisaContent::where('project_change_visa_id', 'in', $params['id'])->findOrEmpty();
if (!$data->isEmpty()) {
self::setError('此数据关联了项目变更签证明细信息,须删除项目变更签证明细信息');
return false;
}
return ProjectChangeVisa::destroy($params['id']);
}
/**
* @notes 获取详情
* @param $params
* @return array
* @author likeadmin
* @date 2024/02/23 09:58
*/
public static function detail($params): array
{
$data = ProjectChangeVisa::with(['projectInfo'])->findOrEmpty($params['id']);
$data['project_change_visa_content'] = ProjectChangeVisaContent::where('project_change_visa_id', $data['id'])->select();
$djr = Admin::field('name')->where('id', $data['djr'])->findOrEmpty();
$data['djr_name'] = $djr?->name;
return $data->toArray();
}
public static function datas()
{
$datas = ProjectChangeVisa::field(['id', 'num'])
->order(['id' => 'desc'])
->select()
->toArray();
foreach ($datas as &$item) {
$item['projectinfo'] = 'ID' . $item['id'] . ' / 单号:' . $item['num'];
}
return $datas;
}
}

View File

@ -11,118 +11,124 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\project_process_management; namespace app\adminapi\logic\project_process_management;
use app\common\model\project_process_management\ProjectRectification; use app\common\logic\BaseLogic;
use app\common\logic\BaseLogic; use app\common\model\auth\Admin;
use think\facade\Db; use app\common\model\project_process_management\ProjectRectification;
use think\facade\Db;
/**
* ProjectRectification逻辑 /**
* Class ProjectRectificationLogic * ProjectRectification逻辑
* @package app\adminapi\logic\project_process_management * Class ProjectRectificationLogic
*/ * @package app\adminapi\logic\project_process_management
class ProjectRectificationLogic extends BaseLogic */
{ class ProjectRectificationLogic extends BaseLogic
{
/**
* @notes 添加 /**
* @param array $params * @notes 添加
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/23 11:22 * @author likeadmin
*/ * @date 2024/02/23 11:22
public static function add(array $params): bool */
{ public static function add(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
ProjectRectification::create([ try {
'dataid' => generate_sn(ProjectRectification::class, 'dataid'), ProjectRectification::create([
'num' => generate_sn(ProjectRectification::class, 'num'), 'dataid' => generate_sn(ProjectRectification::class, 'dataid'),
'project_id' => $params['project_id'], 'num' => generate_sn(ProjectRectification::class, 'num'),
'wt_unit' => $params['wt_unit'], 'project_id' => $params['project_id'],
'xm_master' => $params['xm_master'], 'wt_unit' => $params['wt_unit'],
'zx_type' => $params['zx_type'], 'xm_master' => $params['xm_master'],
'zg_master' => $params['zg_master'], 'zx_type' => $params['zx_type'],
'dj_person' => $params['dj_person'], 'zg_master' => $params['zg_master'],
'apptime' => $params['apptime'], 'dj_person' => $params['dj_person'],
'problem' => $params['problem'], 'apptime' => $params['apptime'],
'deal_desc' => $params['deal_desc'], 'problem' => $params['problem'],
'remark' => $params['remark'], 'deal_desc' => $params['deal_desc'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'remark' => $params['remark'],
]); 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]);
Db::commit();
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 编辑 /**
* @param array $params * @notes 编辑
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/23 11:22 * @author likeadmin
*/ * @date 2024/02/23 11:22
public static function edit(array $params): bool */
{ public static function edit(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
ProjectRectification::where('id', $params['id'])->update([ try {
'project_id' => $params['project_id'], ProjectRectification::where('id', $params['id'])->update([
'wt_unit' => $params['wt_unit'], 'project_id' => $params['project_id'],
'xm_master' => $params['xm_master'], 'wt_unit' => $params['wt_unit'],
'zx_type' => $params['zx_type'], 'xm_master' => $params['xm_master'],
'zg_master' => $params['zg_master'], 'zx_type' => $params['zx_type'],
'dj_person' => $params['dj_person'], 'zg_master' => $params['zg_master'],
'apptime' => $params['apptime'], 'dj_person' => $params['dj_person'],
'problem' => $params['problem'], 'apptime' => $params['apptime'],
'deal_desc' => $params['deal_desc'], 'problem' => $params['problem'],
'remark' => $params['remark'], 'deal_desc' => $params['deal_desc'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'remark' => $params['remark'],
]); 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]);
Db::commit();
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 删除 /**
* @param array $params * @notes 删除
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/23 11:22 * @author likeadmin
*/ * @date 2024/02/23 11:22
public static function delete(array $params): bool */
{ public static function delete(array $params): bool
return ProjectRectification::destroy($params['id']); {
} return ProjectRectification::destroy($params['id']);
}
/**
* @notes 获取详情 /**
* @param $params * @notes 获取详情
* @return array * @param $params
* @author likeadmin * @return array
* @date 2024/02/23 11:22 * @author likeadmin
*/ * @date 2024/02/23 11:22
public static function detail($params): array */
{ public static function detail($params): array
return ProjectRectification::with(['projectInfo'])->findOrEmpty($params['id'])->toArray(); {
} $data = ProjectRectification::with(['projectInfo'])->findOrEmpty($params['id']);
} $xmfz = Admin::field('name')->where('id', $data['xm_master'])->findOrEmpty();
$djr = Admin::field('name')->where('id', $data['dj_person'])->findOrEmpty();
$data['xm_master_name'] = $xmfz?->name;
$data['dj_person_name'] = $djr?->name;
return $data->toArray();
}
}

View File

@ -11,123 +11,128 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\logic\project_process_management; namespace app\adminapi\logic\project_process_management;
use app\common\model\project_process_management\ProjectSurveySignature; use app\common\logic\BaseLogic;
use app\common\logic\BaseLogic; use app\common\model\auth\Admin;
use think\facade\Db; use app\common\model\project_process_management\ProjectSurveySignature;
use think\facade\Db;
/**
* ProjectSurveySignature逻辑 /**
* Class ProjectSurveySignatureLogic * ProjectSurveySignature逻辑
* @package app\adminapi\logic\project_process_management * Class ProjectSurveySignatureLogic
*/ * @package app\adminapi\logic\project_process_management
class ProjectSurveySignatureLogic extends BaseLogic */
{ class ProjectSurveySignatureLogic extends BaseLogic
{
/**
* @notes 添加 /**
* @param array $params * @notes 添加
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/23 11:06 * @author likeadmin
*/ * @date 2024/02/23 11:06
public static function add(array $params): bool */
{ public static function add(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
ProjectSurveySignature::create([ try {
'dataid' => generate_sn(ProjectSurveySignature::class, 'dataid'), ProjectSurveySignature::create([
'num' => generate_sn(ProjectSurveySignature::class, 'num'), 'dataid' => generate_sn(ProjectSurveySignature::class, 'dataid'),
'project_id' => $params['project_id'], 'num' => generate_sn(ProjectSurveySignature::class, 'num'),
'wt_unit' => $params['wt_unit'], 'project_id' => $params['project_id'],
'jsdw' => $params['jsdw'], 'wt_unit' => $params['wt_unit'],
'bmfz' => $params['bmfz'], 'jsdw' => $params['jsdw'],
'xmfz' => $params['xmfz'], 'bmfz' => $params['bmfz'],
'riqi' => $params['riqi'], 'xmfz' => $params['xmfz'],
'people' => $params['people'], 'riqi' => $params['riqi'],
'djr' => $params['djr'], 'people' => $params['people'],
'apptime' => $params['apptime'], 'djr' => $params['djr'],
'content' => $params['content'], 'apptime' => $params['apptime'],
'result' => $params['result'], 'content' => $params['content'],
'remark' => $params['remark'], 'result' => $params['result'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null 'remark' => $params['remark'],
]); 'annex' => $params['annex'] ? json_encode($params['annex']) : null
]);
Db::commit();
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 编辑 /**
* @param array $params * @notes 编辑
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/23 11:06 * @author likeadmin
*/ * @date 2024/02/23 11:06
public static function edit(array $params): bool */
{ public static function edit(array $params): bool
Db::startTrans(); {
try { Db::startTrans();
ProjectSurveySignature::where('id', $params['id'])->update([ try {
'project_id' => $params['project_id'], ProjectSurveySignature::where('id', $params['id'])->update([
'wt_unit' => $params['wt_unit'], 'project_id' => $params['project_id'],
'jsdw' => $params['jsdw'], 'wt_unit' => $params['wt_unit'],
'bmfz' => $params['bmfz'], 'jsdw' => $params['jsdw'],
'xmfz' => $params['xmfz'], 'bmfz' => $params['bmfz'],
'riqi' => $params['riqi'], 'xmfz' => $params['xmfz'],
'people' => $params['people'], 'riqi' => $params['riqi'],
'djr' => $params['djr'], 'people' => $params['people'],
'apptime' => $params['apptime'], 'djr' => $params['djr'],
'content' => $params['content'], 'apptime' => $params['apptime'],
'result' => $params['result'], 'content' => $params['content'],
'remark' => $params['remark'], 'result' => $params['result'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null 'remark' => $params['remark'],
]); 'annex' => $params['annex'] ? json_encode($params['annex']) : null
]);
Db::commit();
return true; Db::commit();
} catch (\Exception $e) { return true;
Db::rollback(); } catch (\Exception $e) {
self::setError($e->getMessage()); Db::rollback();
return false; self::setError($e->getMessage());
} return false;
} }
}
/**
* @notes 删除 /**
* @param array $params * @notes 删除
* @return bool * @param array $params
* @author likeadmin * @return bool
* @date 2024/02/23 11:06 * @author likeadmin
*/ * @date 2024/02/23 11:06
public static function delete(array $params): bool */
{ public static function delete(array $params): bool
return ProjectSurveySignature::destroy($params['id']); {
} return ProjectSurveySignature::destroy($params['id']);
}
/**
* @notes 获取详情 /**
* @param $params * @notes 获取详情
* @return array * @param $params
* @author likeadmin * @return array
* @date 2024/02/23 11:06 * @author likeadmin
*/ * @date 2024/02/23 11:06
public static function detail($params): array */
{ public static function detail($params): array
$data = ProjectSurveySignature::with(['projectInfo'])->findOrEmpty($params['id'])->toArray(); {
return $data; $data = ProjectSurveySignature::with(['projectInfo'])->findOrEmpty($params['id']);
} $xmfz = Admin::field('name')->where('id', $data['xmfz'])->findOrEmpty();
} $djr = Admin::field('name')->where('id', $data['djr'])->findOrEmpty();
$data['xmfz_name'] = $xmfz?->name;
$data['djr_name'] = $djr?->name;
return $data->toArray();
}
}