tien_nemo

update data tpl

......@@ -17,34 +17,42 @@ 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',
]);
$dataDetail = $request->fields ?? [];
try {
// Lưu vào bảng mst_template
$mst = MstTemplate::create([
'tpl_name' => $request->template_name,
'tpl_text' => $request->customer_name_text,
'tpl_xy' => $request->customer_name_xy,
]);
$masterTemplate = MstTemplate::updateOrCreate(
['tpl_name' => $request->template_name],
[
'tpl_text' => $request->customer_name_text,
'tpl_xy' => $request->customer_name_xy,
]
);
foreach ($dataDetail as $field => $value) {
if (empty($value['coords'])) {
continue;
}
// Lưu các field khác vào dt_template
foreach ($request->fields as $field => $value) {
DtTemplate::create([
'tpl_id' => $mst->id,
'field_name' => $field,
'field_xy' => is_array($value['coords']) ? implode(',', $value['coords']) : $value['coords'],
]);
}
DtTemplate::updateOrInsert(
[
'tpl_id' => $masterTemplate->id,
'field_name' => $field,
],
[
'field_xy' => is_array($value['coords'])
? implode(',', $value['coords'])
: $value['coords'],
]
);
}
return response()->json([
'success' => true,
'message' => 'Lưu template thành công',
'template_id' => $mst->id
'template_id' => $masterTemplate->id
]);
} catch (\Exception $e) {
return response()->json([
......@@ -59,7 +67,7 @@ class OcrController extends Controller
{
try {
// Lấy template name từ request hoặc mặc định
$templateName = $request->get('template_name', '');
$templateName = $request->get('template_name', 'nemo12');
// Giả sử file OCR JSON & ảnh nằm trong storage/app/public/image/
$jsonPath = public_path("image/data_picking_detail_1754967679.json");
......
......@@ -10,6 +10,7 @@ class DtTemplate extends Model
public $timestamps = false;
protected $table = 'dt_template';
protected $primaryKey = 'tpl_detail_id';
protected $guarded = [];
......