update
This commit is contained in:
parent
364c491a98
commit
09df951406
@ -16,10 +16,10 @@ namespace app\adminapi\lists\project;
|
|||||||
|
|
||||||
|
|
||||||
use app\adminapi\lists\BaseAdminDataLists;
|
use app\adminapi\lists\BaseAdminDataLists;
|
||||||
|
use app\common\lists\ListsSearchInterface;
|
||||||
use app\common\model\project\Project;
|
use app\common\model\project\Project;
|
||||||
use app\common\model\project\ProjectAttendanceDetail;
|
use app\common\model\project\ProjectAttendanceDetail;
|
||||||
use app\common\model\project\ProjectAttendanceRecord;
|
use app\common\model\project\ProjectAttendanceRecord;
|
||||||
use app\common\lists\ListsSearchInterface;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -57,7 +57,7 @@ class ProjectAttendanceRecordLists extends BaseAdminDataLists implements ListsSe
|
|||||||
public function lists(): array
|
public function lists(): array
|
||||||
{
|
{
|
||||||
return ProjectAttendanceRecord::where($this->searchWhere)
|
return ProjectAttendanceRecord::where($this->searchWhere)
|
||||||
->field(['id','attendance_code','project_id', 'attendance_date','remark', 'file'])
|
->field(['id', 'attendance_code', 'project_id', 'attendance_date', 'remark'])
|
||||||
->limit($this->limitOffset, $this->limitLength)
|
->limit($this->limitOffset, $this->limitLength)
|
||||||
->order(['id' => 'desc'])
|
->order(['id' => 'desc'])
|
||||||
->select()->each(function ($item) {
|
->select()->each(function ($item) {
|
||||||
|
@ -14,10 +14,10 @@
|
|||||||
|
|
||||||
namespace app\adminapi\logic\project;
|
namespace app\adminapi\logic\project;
|
||||||
|
|
||||||
|
use app\common\logic\BaseLogic;
|
||||||
use app\common\model\project\Project;
|
use app\common\model\project\Project;
|
||||||
use app\common\model\project\ProjectAttendanceDetail;
|
use app\common\model\project\ProjectAttendanceDetail;
|
||||||
use app\common\model\project\ProjectAttendanceRecord;
|
use app\common\model\project\ProjectAttendanceRecord;
|
||||||
use app\common\logic\BaseLogic;
|
|
||||||
use app\common\model\project\ProjectPersonnel;
|
use app\common\model\project\ProjectPersonnel;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
|
|
||||||
@ -42,16 +42,15 @@ class ProjectAttendanceRecordLogic extends BaseLogic
|
|||||||
{
|
{
|
||||||
Db::startTrans();
|
Db::startTrans();
|
||||||
try {
|
try {
|
||||||
$attendance_detail = $params['attendance_detail'];//json_decode($params['attendance_detail'],true);
|
|
||||||
$attendance_code = data_unique_code('项目考勤记录');
|
$attendance_code = data_unique_code('项目考勤记录');
|
||||||
$ProjectAttendanceRecordRes = ProjectAttendanceRecord::create([
|
$ProjectAttendanceRecordRes = ProjectAttendanceRecord::create([
|
||||||
'project_id' => $params['project_id'],
|
'project_id' => $params['project_id'],
|
||||||
'attendance_code' => $attendance_code,
|
'attendance_code' => $attendance_code,
|
||||||
'attendance_date' => strtotime($params['attendance_date']),
|
'attendance_date' => strtotime($params['attendance_date']),
|
||||||
'remark' => $params['remark'],
|
'remark' => $params['remark'],
|
||||||
'file' => $params['file']? json_encode($params['file']) : null,
|
'annex' => $params['annex'] ? json_encode($params['annex']) : null,
|
||||||
]);
|
]);
|
||||||
foreach($attendance_detail as $v){
|
foreach ($params['attendance_detail'] as $v) {
|
||||||
ProjectAttendanceDetail::create([
|
ProjectAttendanceDetail::create([
|
||||||
'attendance_code' => $attendance_code,
|
'attendance_code' => $attendance_code,
|
||||||
'attendance_id' => $ProjectAttendanceRecordRes->id,
|
'attendance_id' => $ProjectAttendanceRecordRes->id,
|
||||||
@ -91,8 +90,10 @@ class ProjectAttendanceRecordLogic extends BaseLogic
|
|||||||
Db::startTrans();
|
Db::startTrans();
|
||||||
try {
|
try {
|
||||||
ProjectAttendanceRecord::where('id', $params['id'])->update([
|
ProjectAttendanceRecord::where('id', $params['id'])->update([
|
||||||
|
'project_id' => $params['project_id'],
|
||||||
'attendance_date' => strtotime($params['attendance_date']),
|
'attendance_date' => strtotime($params['attendance_date']),
|
||||||
'remark' => $params['remark'],
|
'remark' => $params['remark'],
|
||||||
|
'annex' => $params['annex'] ? json_encode($params['annex']) : null,
|
||||||
]);
|
]);
|
||||||
Db::commit();
|
Db::commit();
|
||||||
return true;
|
return true;
|
||||||
@ -137,7 +138,7 @@ class ProjectAttendanceRecordLogic extends BaseLogic
|
|||||||
*/
|
*/
|
||||||
public static function detail($params): array
|
public static function detail($params): array
|
||||||
{
|
{
|
||||||
$data = ProjectAttendanceRecord::field(['id','attendance_code','project_id', 'attendance_date','remark', 'file'])->findOrEmpty($params['id'])->toArray();
|
$data = ProjectAttendanceRecord::field(['id', 'attendance_code', 'project_id', 'attendance_date', 'remark', 'annex'])->findOrEmpty($params['id'])->toArray();
|
||||||
$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_name'] = $project['name'];
|
||||||
$data['project_code'] = $project['project_code'];
|
$data['project_code'] = $project['project_code'];
|
||||||
|
@ -132,6 +132,7 @@
|
|||||||
$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_name'] = $project['name'];
|
||||||
$data['project_code'] = $project['project_code'];
|
$data['project_code'] = $project['project_code'];
|
||||||
|
$data['payment_type_text'] = $data->payment_type_text;
|
||||||
//总工资付款
|
//总工资付款
|
||||||
$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();
|
return $data->toArray();
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
'project_id' => 'require|checkProject',
|
'project_id' => 'require|checkProject',
|
||||||
'attendance_date' => 'require|dateFormat:Y-m-d',
|
'attendance_date' => 'require|dateFormat:Y-m-d',
|
||||||
'attendance_detail' => 'require|checkAttendanceDetail',
|
'attendance_detail' => 'require|checkAttendanceDetail',
|
||||||
'file' => 'checkFile',
|
'annex' => 'checkAnnex',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected $message = [
|
protected $message = [
|
||||||
@ -105,16 +105,6 @@
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function checkFile($value): bool|string
|
|
||||||
{
|
|
||||||
if (!empty($value) && $value != '') {
|
|
||||||
if (!is_array($value)) {
|
|
||||||
return '附件必须是json数组';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function checkAttendanceDetail($value, $rule, $data): bool|string
|
public function checkAttendanceDetail($value, $rule, $data): bool|string
|
||||||
{
|
{
|
||||||
$attendance_detail = $value;//json_decode($value,true);
|
$attendance_detail = $value;//json_decode($value,true);
|
||||||
|
@ -27,13 +27,10 @@ use think\model\concern\SoftDelete;
|
|||||||
class ProjectAttendanceRecord extends BaseModel
|
class ProjectAttendanceRecord extends BaseModel
|
||||||
{
|
{
|
||||||
use SoftDelete;
|
use SoftDelete;
|
||||||
|
|
||||||
protected $name = 'project_attendance_record';
|
protected $name = 'project_attendance_record';
|
||||||
protected $deleteTime = 'delete_time';
|
protected $deleteTime = 'delete_time';
|
||||||
|
|
||||||
public function getFileAttr($value)
|
|
||||||
{
|
|
||||||
return !empty($value) ? json_decode($value,true) : '';
|
|
||||||
}
|
|
||||||
public function getAttendanceDateAttr($value): string
|
public function getAttendanceDateAttr($value): string
|
||||||
{
|
{
|
||||||
return !empty($value) ? date('Y-m-d', $value) : '';
|
return !empty($value) ? date('Y-m-d', $value) : '';
|
||||||
|
@ -28,6 +28,7 @@ use think\model\concern\SoftDelete;
|
|||||||
class ProjectSalaryPayment extends BaseModel
|
class ProjectSalaryPayment extends BaseModel
|
||||||
{
|
{
|
||||||
use SoftDelete;
|
use SoftDelete;
|
||||||
|
|
||||||
protected $name = 'project_salary_payment';
|
protected $name = 'project_salary_payment';
|
||||||
protected $deleteTime = 'delete_time';
|
protected $deleteTime = 'delete_time';
|
||||||
|
|
||||||
@ -41,7 +42,7 @@ class ProjectSalaryPayment extends BaseModel
|
|||||||
return !empty($value) ? date('Y-m-d', $value) : '';
|
return !empty($value) ? date('Y-m-d', $value) : '';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPaymentTypeAttr($value,$data): string
|
public function getPaymentTypeTextAttr($value, $data): string
|
||||||
{
|
{
|
||||||
$dictData = DictData::where('type_value', 'salary_payment_type')->column('name', 'value');
|
$dictData = DictData::where('type_value', 'salary_payment_type')->column('name', 'value');
|
||||||
return !empty($data['payment_type']) ? $dictData[$data['payment_type']] : '';
|
return !empty($data['payment_type']) ? $dictData[$data['payment_type']] : '';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user