浏览代码

Modificación de número serial

JeanBenitez 1 年之前
父节点
当前提交
fb28cc3533
共有 1 个文件被更改,包括 29 次插入18 次删除
  1. 29 18
      sistema-mantenimiento-back/app/Http/Controllers/EquipmentManagementController.php

+ 29 - 18
sistema-mantenimiento-back/app/Http/Controllers/EquipmentManagementController.php

@@ -2716,27 +2716,38 @@ class EquipmentManagementController extends Controller{
                 return $this->responseController->makeResponse(true, 'El número de serie del equipamiento no fue encriptado correctamente.', [], 400);
             }
             $arrSerialNumber = explode(',', $serialNumer);
-            if (intval($form['number_items']) !== count($arrSerialNumber)) {
-                return $this->responseController->makeResponse(true, 'La cantidad de número de series no corresponde con la cantidad de artículos a registrar.', [], 400);
-            }
-            foreach ($arrSerialNumber as $key => $serialNumber) {
-                // Se obtiene la información del equipamiento por medio del número de serie
-                $serialNmberDB = DB::table('S002V01TPCEQ')->where([
-                    ['PCEQ_NULI', '=', $form['linea']],
-                    ['PCEQ_NUSE', '=', $serialNumber]
-                ])->first();
-                // Se verifica que exista el código de serie
-                if(!is_null($serialNmberDB)){
-                    $serialNumberStr = $serialNmberDB->PCEQ_CPGE;
-                    return $this->responseController->makeResponse(true, "El número de serie $serialNumber enviado ya se encuentra relacionado al equipamiento $serialNumberStr.", [], 401);
+
+            if (count($arrSerialNumber) === 1 && intval($form['number_items']) > 1)  {
+                $arrSerialContinue = array();
+                for ($item = 1; $item <= intval($form['number_items']); $item++) {
+                    $arrSerialContinue[] = "{$arrSerialNumber[0]}-$item";
+                }
+                $arrSerialNumber = $arrSerialContinue;
+            } else {
+                if (intval($form['number_items']) !== count($arrSerialNumber)) {
+                    return $this->responseController->makeResponse(true, 'La cantidad de número de series no corresponde con la cantidad de artículos a registrar.', [], 400);
+                }
+                foreach ($arrSerialNumber as $key => $serialNumber) {
+                    // Se obtiene la información del equipamiento por medio del número de serie
+                    $serialNmberDB = DB::table('S002V01TPCEQ')->where([
+                        ['PCEQ_NULI', '=', $form['linea']],
+                        ['PCEQ_NUSE', '=', $serialNumber]
+                    ])->first();
+                    // Se verifica que exista el código de serie
+                    if(!is_null($serialNmberDB)){
+                        $serialNumberStr = $serialNmberDB->PCEQ_CPGE;
+                        return $this->responseController->makeResponse(true, "El número de serie $serialNumber enviado ya se encuentra relacionado al equipamiento $serialNumberStr.", [], 401);
+                    }
+                }
+    
+                $temp_array = array_unique($arrSerialNumber);
+                $duplicates = sizeof($temp_array) != sizeof($arrSerialNumber);
+                if ($duplicates) {
+                    return $this->responseController->makeResponse(true, 'Los número de serie no se pueden repetir.', [], 400);
                 }
             }
 
-            $temp_array = array_unique($arrSerialNumber);
-            $duplicates = sizeof($temp_array) != sizeof($arrSerialNumber);
-            if ($duplicates) {
-                return $this->responseController->makeResponse(true, 'Los número de serie no se pueden repetir.', [], 400);
-            }
+            
         } else {
             try {
                 $getEquipment = DB::table('S002V01TPCEQ')