tien_nemo

test load data

......@@ -17,13 +17,11 @@ class OcrController extends Controller
public function store(Request $request)
{
// dd($request->all());
$request->validate([
'customer_name_text' => 'required|string',
'customer_name_xy' => 'required|string',
'template_name' => 'required|string|unique:mst_template,tpl_name',
'fields' => 'required|array',
'fields.*.name' => 'required|string',
'fields.*.xy' => 'required|string',
]);
try {
......@@ -35,11 +33,11 @@ class OcrController extends Controller
]);
// Lưu các field khác vào dt_template
foreach ($request->fields as $field) {
foreach ($request->fields as $field => $value) {
DtTemplate::create([
'tpl_id' => $mst->id,
'field_name' => $field['name'],
'field_xy' => $field['xy'],
'field_name' => $field,
'field_xy' => is_array($value['coords']) ? implode(',', $value['coords']) : $value['coords'],
]);
}
......@@ -61,7 +59,7 @@ class OcrController extends Controller
{
try {
// Lấy template name từ request hoặc mặc định
$templateName = $request->get('template_name', 'nemo');
$templateName = $request->get('template_name', 'A');
// Giả sử file OCR JSON & ảnh nằm trong storage/app/public/image/
$jsonPath = public_path("image/data_picking_detail_1754967679.json");
......@@ -77,6 +75,7 @@ class OcrController extends Controller
}
$formData = [];
$dataMapping = [];
if ($templateName) {
$mst = MstTemplate::where('tpl_name', $templateName)->first();
......@@ -94,6 +93,11 @@ class OcrController extends Controller
// field_name => text
$formData[$detail->field_name] = $text;
$dataMapping[$detail->field_name] = [
'text' => $text,
'coords' => $coords
];
}
} else {
$formData = [
......@@ -112,6 +116,7 @@ class OcrController extends Controller
'ocrData' => $ocrData,
'pdfImageUrl' => $imgPath,
'formData' => $formData,
'dataMapping' => $dataMapping,
'fieldOptions' => [
[ 'value' => 'template_name', 'label' => 'Tên Mẫu PDF' ],
[ 'value' => 'customer_name', 'label' => 'Tên khách hàng' ],
......