This commit is contained in:
weiz 2024-03-25 10:14:04 +08:00
parent ab2a6931bb
commit 4aa0d392ef
3 changed files with 235 additions and 212 deletions

View File

@ -13,22 +13,22 @@
// +----------------------------------------------------------------------
namespace app\adminapi\controller\project;
namespace app\adminapi\controller\project;
use app\adminapi\controller\BaseAdminController;
use app\adminapi\lists\project\ProjectSalaryDetailLists;
use app\adminapi\logic\project\ProjectSalaryDetailLogic;
use app\adminapi\validate\project\ProjectSalaryDetailValidate;
use app\adminapi\controller\BaseAdminController;
use app\adminapi\lists\project\ProjectSalaryDetailLists;
use app\adminapi\logic\project\ProjectSalaryDetailLogic;
use app\adminapi\validate\project\ProjectSalaryDetailValidate;
/**
/**
* 工资明细控制器
* Class ProjectSalaryDetailController
* @package app\adminapi\controller\project
*/
class ProjectSalaryDetailController extends BaseAdminController
{
class ProjectSalaryDetailController extends BaseAdminController
{
/**
@ -42,4 +42,11 @@ class ProjectSalaryDetailController extends BaseAdminController
return $this->dataLists(new ProjectSalaryDetailLists());
}
}
public function delete()
{
$params = (new ProjectSalaryDetailValidate())->post()->goCheck('delete');
ProjectSalaryDetailLogic::delete($params);
return $this->success('删除成功', [], 1, 1);
}
}

View File

@ -13,22 +13,22 @@
// +----------------------------------------------------------------------
namespace app\adminapi\controller\project;
namespace app\adminapi\controller\project;
use app\adminapi\controller\BaseAdminController;
use app\adminapi\lists\project\ProjectSalaryPaymentLists;
use app\adminapi\logic\project\ProjectSalaryPaymentLogic;
use app\adminapi\validate\project\ProjectSalaryPaymentValidate;
use app\adminapi\controller\BaseAdminController;
use app\adminapi\lists\project\ProjectSalaryPaymentLists;
use app\adminapi\logic\project\ProjectSalaryPaymentLogic;
use app\adminapi\validate\project\ProjectSalaryPaymentValidate;
/**
/**
* 工资付款控制器
* Class ProjectSalaryPaymentController
* @package app\adminapi\controller\project
*/
class ProjectSalaryPaymentController extends BaseAdminController
{
class ProjectSalaryPaymentController extends BaseAdminController
{
/**
@ -59,7 +59,8 @@ class ProjectSalaryPaymentController extends BaseAdminController
return $this->fail(ProjectSalaryPaymentLogic::getError());
}
public function edit() {
public function edit()
{
$params = (new ProjectSalaryPaymentValidate())->post()->goCheck('edit');
$result = ProjectSalaryPaymentLogic::edit($params);
if (true === $result) {
@ -68,6 +69,16 @@ class ProjectSalaryPaymentController extends BaseAdminController
return $this->fail(ProjectSalaryPaymentLogic::getError());
}
public function delete()
{
$params = (new ProjectSalaryPaymentValidate())->post()->goCheck('delete');
$result = ProjectSalaryPaymentLogic::delete($params);
if (true === $result) {
return $this->success('删除成功', [], 1, 1);
}
return $this->fail(ProjectSalaryPaymentLogic::getError());
}
/**
* @notes 获取工资付款详情
@ -83,4 +94,4 @@ class ProjectSalaryPaymentController extends BaseAdminController
}
}
}

View File

@ -12,28 +12,23 @@
// | author: likeadminTeam
// +----------------------------------------------------------------------
namespace app\adminapi\logic\project;
namespace app\adminapi\logic\project;
use app\common\model\build\BuildPlan;
use app\common\model\build\BuildReport;
use app\common\model\build\BuildReportDetail;
use app\common\model\project\Project;
use app\common\model\project\ProjectAttendanceDetail;
use app\common\model\project\ProjectPersonnel;
use app\common\model\project\ProjectSalaryDetail;
use app\common\model\project\ProjectSalaryPayment;
use app\common\logic\BaseLogic;
use think\facade\Db;
use app\common\logic\BaseLogic;
use app\common\model\project\Project;
use app\common\model\project\ProjectSalaryDetail;
use app\common\model\project\ProjectSalaryPayment;
use think\facade\Db;
/**
/**
* 工资付款逻辑
* Class ProjectSalaryPaymentLogic
* @package app\adminapi\logic\project
*/
class ProjectSalaryPaymentLogic extends BaseLogic
{
class ProjectSalaryPaymentLogic extends BaseLogic
{
/**
* @notes 添加工资付款
@ -52,9 +47,9 @@ class ProjectSalaryPaymentLogic extends BaseLogic
'payment_type' => $params['payment_type'],
'apply_date' => strtotime($params['apply_date']),
'remark' => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null,
'annex' => $params['annex'] ? json_encode($params['annex']) : null,
]);
foreach($params['payment_detail'] as $v){
foreach ($params['payment_detail'] as $v) {
ProjectSalaryDetail::create([
'salary_payment_id' => $res->id,
'person_id' => $v['person_id'],
@ -81,12 +76,12 @@ class ProjectSalaryPaymentLogic extends BaseLogic
'payment_type' => $params['payment_type'],
'apply_date' => strtotime($params['apply_date']),
'remark' => $params['remark'] ?? '',
'annex' => $params['annex']? json_encode($params['annex']) : null,
'annex' => $params['annex'] ? json_encode($params['annex']) : null,
'update_time' => time(),
]);
foreach($params['payment_detail'] as $v){
if(isset($v['id']) && $v['id'] != ''){
ProjectSalaryDetail::where('id',$v['id'])->update([
foreach ($params['payment_detail'] as $v) {
if (isset($v['id']) && $v['id'] != '') {
ProjectSalaryDetail::where('id', $v['id'])->update([
'salary_payment_id' => $params['id'],
'person_id' => $v['person_id'],
'apply_date' => strtotime($params['apply_date']),
@ -94,7 +89,7 @@ class ProjectSalaryPaymentLogic extends BaseLogic
'remark' => $v['remark'] ?? '',
'update_time' => time(),
]);
}else{
} else {
ProjectSalaryDetail::create([
'salary_payment_id' => $params['id'],
'person_id' => $v['person_id'],
@ -113,6 +108,16 @@ class ProjectSalaryPaymentLogic extends BaseLogic
}
}
public static function delete(array $params): bool
{
$detail = ProjectSalaryDetail::where('salary_payment_id', 'in', $params['id'])->findOrEmpty();
if (!$detail->isEmpty()) {
self::setError('此数据关联了工资明细内容,需删除工资明细内容');
return false;
}
return ProjectSalaryPayment::destroy($params['id']);
}
/**
* @notes 获取工资付款详情
@ -124,11 +129,11 @@ class ProjectSalaryPaymentLogic extends BaseLogic
public static function detail($params): array
{
$data = ProjectSalaryPayment::field('id,payment_code,project_id,payment_type,apply_date,remark,annex')->findOrEmpty($params['id']);
$project = Project::field('name,project_code')->where('id',$data['project_id'])->findOrEmpty();
$project = Project::field('name,project_code')->where('id', $data['project_id'])->findOrEmpty();
$data['project_name'] = $project['name'];
$data['project_code'] = $project['project_code'];
//总工资付款
$data['total_amount'] = ProjectSalaryDetail::where('salary_payment_id',$data['id'])->sum('apply_amount');
$data['total_amount'] = ProjectSalaryDetail::where('salary_payment_id', $data['id'])->sum('apply_amount');
return $data->toArray();
}
}
}