This commit is contained in:
weiz 2024-04-09 09:49:02 +08:00
parent 39161ebca1
commit 2d683824b0
4 changed files with 181 additions and 179 deletions

View File

@ -11,98 +11,99 @@
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
// | author: likeadminTeam // | author: likeadminTeam
// +---------------------------------------------------------------------- // +----------------------------------------------------------------------
namespace app\adminapi\controller\project; namespace app\adminapi\controller\project;
use app\adminapi\controller\BaseAdminController; use app\adminapi\controller\BaseAdminController;
use app\adminapi\lists\project\ProjectAttendanceDetailLists; use app\adminapi\lists\project\ProjectAttendanceDetailLists;
use app\adminapi\logic\project\ProjectAttendanceDetailLogic; use app\adminapi\logic\project\ProjectAttendanceDetailLogic;
use app\adminapi\validate\project\ProjectAttendanceDetailValidate; use app\adminapi\validate\project\ProjectAttendanceDetailValidate;
/** /**
* 考勤明细控制器 * 考勤明细控制器
* Class ProjectAttendanceDetailController * Class ProjectAttendanceDetailController
* @package app\adminapi\controller\project * @package app\adminapi\controller\project
*/ */
class ProjectAttendanceDetailController extends BaseAdminController class ProjectAttendanceDetailController extends BaseAdminController
{ {
/** /**
* @notes 获取考勤明细列表 * @notes 获取考勤明细列表
* @return \think\response\Json * @return \think\response\Json
* @author likeadmin * @author likeadmin
* @date 2023/12/26 10:54 * @date 2023/12/26 10:54
*/ */
public function lists() public function lists()
{ {
return $this->dataLists(new ProjectAttendanceDetailLists()); return $this->dataLists(new ProjectAttendanceDetailLists());
} }
/** /**
* @notes 添加考勤明细 * @notes 添加考勤明细
* @return \think\response\Json * @return \think\response\Json
* @author likeadmin * @author likeadmin
* @date 2023/12/26 10:54 * @date 2023/12/26 10:54
*/ */
public function add() public function add()
{ {
$params = (new ProjectAttendanceDetailValidate())->post()->goCheck('add'); $params = (new ProjectAttendanceDetailValidate())->post()->goCheck('add');
$result = ProjectAttendanceDetailLogic::add($params); halt($params);
if (true === $result) { $result = ProjectAttendanceDetailLogic::add($params);
return $this->success('添加成功', [], 1, 1); if (true === $result) {
} return $this->success('添加成功', [], 1, 1);
return $this->fail(ProjectAttendanceDetailLogic::getError()); }
} return $this->fail(ProjectAttendanceDetailLogic::getError());
}
/**
* @notes 编辑考勤明细 /**
* @return \think\response\Json * @notes 编辑考勤明细
* @author likeadmin * @return \think\response\Json
* @date 2023/12/26 10:54 * @author likeadmin
*/ * @date 2023/12/26 10:54
public function edit() */
{ public function edit()
$params = (new ProjectAttendanceDetailValidate())->post()->goCheck('edit'); {
$result = ProjectAttendanceDetailLogic::edit($params); $params = (new ProjectAttendanceDetailValidate())->post()->goCheck('edit');
if (true === $result) { $result = ProjectAttendanceDetailLogic::edit($params);
return $this->success('编辑成功', [], 1, 1); if (true === $result) {
} return $this->success('编辑成功', [], 1, 1);
return $this->fail(ProjectAttendanceDetailLogic::getError()); }
} return $this->fail(ProjectAttendanceDetailLogic::getError());
}
/**
* @notes 删除考勤明细 /**
* @return \think\response\Json * @notes 删除考勤明细
* @author likeadmin * @return \think\response\Json
* @date 2023/12/26 10:54 * @author likeadmin
*/ * @date 2023/12/26 10:54
public function delete() */
{ public function delete()
$params = (new ProjectAttendanceDetailValidate())->post()->goCheck('delete'); {
ProjectAttendanceDetailLogic::delete($params); $params = (new ProjectAttendanceDetailValidate())->post()->goCheck('delete');
return $this->success('删除成功', [], 1, 1); ProjectAttendanceDetailLogic::delete($params);
} return $this->success('删除成功', [], 1, 1);
}
/**
* @notes 获取考勤明细详情 /**
* @return \think\response\Json * @notes 获取考勤明细详情
* @author likeadmin * @return \think\response\Json
* @date 2023/12/26 10:54 * @author likeadmin
*/ * @date 2023/12/26 10:54
public function detail() */
{ public function detail()
$params = (new ProjectAttendanceDetailValidate())->goCheck('detail'); {
$result = ProjectAttendanceDetailLogic::detail($params); $params = (new ProjectAttendanceDetailValidate())->goCheck('detail');
return $this->data($result); $result = ProjectAttendanceDetailLogic::detail($params);
} return $this->data($result);
}
}
}

View File

@ -11,84 +11,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_work\SupervisionMaterialEntry; use app\common\lists\ListsSearchInterface;
use app\common\model\supervision_work\SupervisionMaterialEntryDetail; use app\common\model\supervision_work\SupervisionMaterialEntry;
use app\common\model\supervision_work\SupervisionMaterialParallelTesting; use app\common\model\supervision_work\SupervisionMaterialEntryDetail;
use app\common\model\supervision_work\SupervisionMaterialParallelTestingDetail; use app\common\model\supervision_work\SupervisionMaterialParallelTesting;
use app\common\lists\ListsSearchInterface; use app\common\model\supervision_work\SupervisionMaterialParallelTestingDetail;
use app\common\model\supervision_work\SupervisionProblem; use app\common\model\supervision_work\SupervisionProblem;
/** /**
* 工程监理--材料平行检验明细列表 * 工程监理--材料平行检验明细列表
* Class SupervisionMaterialParallelTestingDetailLists * Class SupervisionMaterialParallelTestingDetailLists
* @package app\adminapi\listssupervision_work * @package app\adminapi\listssupervision_work
*/ */
class SupervisionMaterialParallelTestingDetailLists extends BaseAdminDataLists implements ListsSearchInterface class SupervisionMaterialParallelTestingDetailLists 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 [
'=' => ['material_parallel_testing_id', 'material_entry_detail_id', 'check_result'], '=' => ['material_parallel_testing_id', 'material_entry_detail_id', 'check_result'],
'%like%' => ['check_code', 'check_user'], '%like%' => ['check_code', 'check_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/29 15:00 * @date 2024/02/29 15:00
*/ */
public function lists(): array public function lists(): array
{ {
return SupervisionMaterialParallelTestingDetail::withoutField('create_time,update_time,delete_time')->where($this->searchWhere) return SupervisionMaterialParallelTestingDetail::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) {
$material_parallel_testing = SupervisionMaterialParallelTesting::field('inspection_date')->where('id',$data['material_parallel_testing_id'])->findOrEmpty(); $material_parallel_testing = SupervisionMaterialParallelTesting::field('inspection_date')->where('id', $data['material_parallel_testing_id'])->findOrEmpty();
$material_entry_detail = SupervisionMaterialEntryDetail::field('material_entry_id,name,brand,model,contract_brand,entry_number')->where('id',$data['material_entry_detail_id'])->findOrEmpty(); $material_entry_detail = SupervisionMaterialEntryDetail::field('material_entry_id,name,brand,model,unit,contract_brand,entry_number')->where('id', $data['material_entry_detail_id'])->findOrEmpty();
$material_entry = SupervisionMaterialEntry::field('enter_time')->where('id',$material_entry_detail['material_entry_id'])->findOrEmpty(); $material_entry = SupervisionMaterialEntry::field('enter_time')->where('id', $material_entry_detail['material_entry_id'])->findOrEmpty();
$data['name'] = $material_entry_detail['name']; $data['name'] = $material_entry_detail['name'];
$data['brand'] = $material_entry_detail['brand']; $data['brand'] = $material_entry_detail['brand'];
$data['model'] = $material_entry_detail['model']; $data['model'] = $material_entry_detail['model'];
$data['contract_brand_text'] = $material_entry_detail->contract_brand_text; $data['unit'] = $material_entry_detail['unit'];
$data['entry_number'] = $material_entry_detail['entry_number']; $data['contract_brand'] = $material_entry_detail['contract_brand'];
$data['enter_time'] = $material_entry['enter_time']; $data['contract_brand_text'] = $material_entry_detail->contract_brand_text;
$data['inspection_date'] = $material_parallel_testing['inspection_date']; $data['entry_number'] = $material_entry_detail['entry_number'];
$data['problem_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',7)->count(); $data['enter_time'] = $material_entry['enter_time'];
$data['reply_num'] = SupervisionProblem::field('id')->where('data_id',$data['id'])->where('data_type',7)->where('is_rectification',1)->count(); $data['inspection_date'] = $material_parallel_testing['inspection_date'];
}) $data['problem_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 7)->count();
->toArray(); $data['reply_num'] = SupervisionProblem::field('id')->where('data_id', $data['id'])->where('data_type', 7)->where('is_rectification', 1)->count();
} })
->toArray();
}
/**
* @notes 获取工程监理--材料平行检验明细数量
* @return int /**
* @author likeadmin * @notes 获取工程监理--材料平行检验明细数量
* @date 2024/02/29 15:00 * @return int
*/ * @author likeadmin
public function count(): int * @date 2024/02/29 15:00
{ */
return SupervisionMaterialParallelTestingDetail::where($this->searchWhere)->count(); public function count(): int
} {
return SupervisionMaterialParallelTestingDetail::where($this->searchWhere)->count();
} }
}

View File

@ -83,7 +83,6 @@
'settlement_date' => strtotime($params['settlement_date']), 'settlement_date' => strtotime($params['settlement_date']),
'remark' => $params['remark'], 'remark' => $params['remark'],
'annex' => $params['annex'] ? json_encode($params['annex']) : null, 'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'add_user' => $params['add_user'],
'update_time' => time(), 'update_time' => time(),
]); ]);
Db::commit(); Db::commit();

View File

@ -37,8 +37,8 @@
'project_id' => 'require|checkProject', 'project_id' => 'require|checkProject',
'person_id' => 'require|checkPerson', 'person_id' => 'require|checkPerson',
'attendance_date' => 'require|dateFormat:Y-m-d', 'attendance_date' => 'require|dateFormat:Y-m-d',
'work_start_time' => 'dateFormat:H:i:s', 'work_start_time' => 'dateFormat:H:i',
'work_end_time' => 'dateFormat:H:i:s', 'work_end_time' => 'dateFormat:H:i',
'work_record_num' => 'require|float|gt:0', 'work_record_num' => 'require|float|gt:0',
'daily_salary' => 'require|float|gt:0', 'daily_salary' => 'require|float|gt:0',
'daily_living' => 'require|float|gt:0', 'daily_living' => 'require|float|gt:0',