完善生产查询与登录权限配置
This commit is contained in:
@@ -679,13 +679,14 @@ final class DataEntryController extends Base
|
||||
|
||||
#[OA\Get(path: '/produce/query/records', summary: '查询生产记录', tags: ['produce-web-query'])]
|
||||
#[DataResponse(description: '查询成功')]
|
||||
#[AllowAnonymous(requireToken: false, requirePermission: false, description: '公共接口')]
|
||||
public function queryRecords(Request $request): Response
|
||||
{
|
||||
$recordType = trim((string) $request->input('record_type', 'scan'));
|
||||
$orderNo = trim((string) $request->input('order_no', ''));
|
||||
$keyword = trim((string) $request->input('keyword', ''));
|
||||
$userCode = trim((string) $request->input('user_code', ''));
|
||||
$processId = (int) $request->input('process_id', 0);
|
||||
$stepId = (int) $request->input('step_id', 0);
|
||||
$status = $request->input('status', '');
|
||||
$scanResult = $request->input('scan_result', '');
|
||||
$page = max(1, (int) $request->input('page', 1));
|
||||
@@ -707,6 +708,8 @@ final class DataEntryController extends Base
|
||||
if ($recordType === 'scan') {
|
||||
$query->when($orderNo !== '', fn ($builder) => $builder->where('order_no', $orderNo));
|
||||
$query->when($userCode !== '', fn ($builder) => $builder->where('user_code', $userCode));
|
||||
$query->when($processId > 0, fn ($builder) => $builder->where('process_id', $processId));
|
||||
$query->when($stepId > 0, fn ($builder) => $builder->where('step_id', $stepId));
|
||||
$query->when($status !== '' && $status !== null, fn ($builder) => $builder->where('status_id', (int) $status));
|
||||
$query->when($scanResult !== '' && $scanResult !== null, fn ($builder) => $builder->where('scan_result', (int) $scanResult));
|
||||
$query->when($keyword !== '', fn ($builder) => $builder->where(function ($nested) use ($keyword) {
|
||||
@@ -721,6 +724,8 @@ final class DataEntryController extends Base
|
||||
} elseif ($recordType === 'product') {
|
||||
$query->when($orderNo !== '', fn ($builder) => $builder->where('process_order_no', $orderNo));
|
||||
$query->when($userCode !== '', fn ($builder) => $builder->where('user_code', $userCode));
|
||||
$query->when($processId > 0, fn ($builder) => $builder->where('process_id', $processId));
|
||||
$query->when($stepId > 0, fn ($builder) => $builder->where('step_id', $stepId));
|
||||
$query->when($status !== '' && $status !== null, fn ($builder) => $builder->where('status_id', (int) $status));
|
||||
$query->when($scanResult !== '' && $scanResult !== null, fn ($builder) => $builder->where('scan_result', (int) $scanResult));
|
||||
$query->when($keyword !== '', fn ($builder) => $builder->where(function ($nested) use ($keyword) {
|
||||
@@ -736,6 +741,8 @@ final class DataEntryController extends Base
|
||||
} elseif ($recordType === 'exception') {
|
||||
$query->when($orderNo !== '', fn ($builder) => $builder->where('order_no', $orderNo));
|
||||
$query->when($userCode !== '', fn ($builder) => $builder->where('user_code', $userCode));
|
||||
$query->when($processId > 0, fn ($builder) => $builder->where('process_id', $processId));
|
||||
$query->when($stepId > 0, fn ($builder) => $builder->where('step_id', $stepId));
|
||||
$query->when($status !== '' && $status !== null, fn ($builder) => $builder->where('status', (int) $status));
|
||||
$query->when($keyword !== '', fn ($builder) => $builder->where(function ($nested) use ($keyword) {
|
||||
$nested->where('order_no', 'like', "%{$keyword}%")
|
||||
@@ -751,6 +758,8 @@ final class DataEntryController extends Base
|
||||
$query->orderByDesc('reported_at')->orderByDesc('id');
|
||||
} else {
|
||||
$query->when($orderNo !== '', fn ($builder) => $builder->where('order_no', $orderNo));
|
||||
$query->when($processId > 0, fn ($builder) => $builder->where('process_id', $processId));
|
||||
$query->when($stepId > 0, fn ($builder) => $builder->where('step_id', $stepId));
|
||||
$query->when($keyword !== '', fn ($builder) => $builder->where(function ($nested) use ($keyword) {
|
||||
$nested->where('repair_no', 'like', "%{$keyword}%")
|
||||
->orWhere('order_no', 'like', "%{$keyword}%")
|
||||
@@ -772,7 +781,6 @@ final class DataEntryController extends Base
|
||||
|
||||
#[OA\Get(path: '/produce/query/timeline', summary: '查询订单生产时间线', tags: ['produce-web-query'])]
|
||||
#[DataResponse(description: '查询成功')]
|
||||
#[AllowAnonymous(requireToken: false, requirePermission: false, description: '公共接口')]
|
||||
public function queryTimeline(Request $request): Response
|
||||
{
|
||||
$orderNo = trim((string) $request->input('order_no', ''));
|
||||
@@ -936,9 +944,12 @@ final class DataEntryController extends Base
|
||||
return Json::fail('用户编码不存在');
|
||||
}
|
||||
|
||||
$repairFlow = $this->getRepairFlowNodeNames();
|
||||
|
||||
try {
|
||||
$record = Db::transaction(function () use ($exceptionId, $repairResult, $categoryIds, $parts, $images, $operationFaultSteps, $responsibleOperators, $data, $member, $repairRecordService) {
|
||||
$record = Db::transaction(function () use ($exceptionId, $repairResult, $categoryIds, $parts, $images, $operationFaultSteps, $responsibleOperators, $data, $member, $repairRecordService, $repairFlow) {
|
||||
$exception = ExceptionRecord::query()
|
||||
->with(['process', 'step'])
|
||||
->lockForUpdate()
|
||||
->whereKey($exceptionId)
|
||||
->whereIn('status', [0, 1])
|
||||
@@ -1062,6 +1073,10 @@ final class DataEntryController extends Base
|
||||
'exception_reason' => (string) $exception->reason_name,
|
||||
'exception_issue' => (string) ($exception->issue_name ?? ''),
|
||||
'order_no' => (string) $exception->order_no,
|
||||
'process_id' => $repairFlow['process_id'],
|
||||
'step_id' => $repairFlow['step_id'],
|
||||
'process_name' => $repairFlow['process_name'],
|
||||
'step_name' => $repairFlow['step_name'],
|
||||
'category_id' => $repairResult === 'assembly_mismatch' ? $categoryIds[0] : $primaryFault?->category_id,
|
||||
'category_ids' => $repairResult === 'assembly_mismatch' ? $categoryIds : null,
|
||||
'fault_description_id' => $primaryFault?->id,
|
||||
@@ -1316,8 +1331,8 @@ final class DataEntryController extends Base
|
||||
'record_type_name' => '维修记录',
|
||||
'order_no' => (string) $item->order_no,
|
||||
'product_code' => (string) $item->product_code,
|
||||
'process_name' => $this->getRepairFlowNodeNames()['process_name'],
|
||||
'step_name' => $this->getRepairFlowNodeNames()['step_name'],
|
||||
'process_name' => (string) ($item->process_name ?: '历史数据未记录'),
|
||||
'step_name' => (string) ($item->step_name ?: '历史数据未记录'),
|
||||
'status_name' => '已维修',
|
||||
'result_name' => (string) $item->repair_result_name,
|
||||
'operator' => (string) $item->operator,
|
||||
@@ -1349,8 +1364,10 @@ final class DataEntryController extends Base
|
||||
$step = $stepId > 0 ? ProcessStep::query()->withTrashed()->find($stepId) : null;
|
||||
|
||||
return $this->repairFlowCache = [
|
||||
'process_name' => (string) ($process?->process_name ?? ''),
|
||||
'step_name' => (string) ($step?->step_name ?? ''),
|
||||
'process_id' => $processId > 0 ? $processId : null,
|
||||
'step_id' => $stepId > 0 ? $stepId : null,
|
||||
'process_name' => (string) ($process?->process_name ?? '维修'),
|
||||
'step_name' => (string) ($step?->step_name ?? '维修'),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user